{
  "openapi": "3.0.4",
  "info": {
    "title": "SkyApi",
    "description": "Notes: PET, RUNE and POTION item tags (somtimes called ids) are expanded to include the type, eg PET_LION.<br> All other Tags match with hypixel and can be found via the search endpoint, also see our <a href=\"https://sky.coflnet.com/wiki/api\">api docs</a>.<br>Most of these endpoints are used for our <a href=\"https://sky.coflnet.com/flips\">Hypixel skyblock ah and bazaar flipping service</a> and may need you to have a premium account token<br>Also if you use the api for a public project you are responsible for complying with our <a href=\"https://sky.coflnet.com/wiki/api#attribution\">api attribution</a>.",
    "version": "v1"
  },
  "paths": {
    "/api/auction/{auctionUuid}": {
      "get": {
        "tags": [
          "Auctions"
        ],
        "summary": "Retrieve details of a specific auction",
        "parameters": [
          {
            "name": "auctionUuid",
            "in": "path",
            "description": "The uuid of the auction you want the details for",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ColorSaveAuction"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ColorSaveAuction"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ColorSaveAuction"
                }
              }
            }
          }
        }
      }
    },
    "/api/auction/{auctionUuid}/uid": {
      "get": {
        "tags": [
          "Auctions"
        ],
        "summary": "Retrieve the uid of an auction (mainly a helper to get the lookup id for another service)",
        "parameters": [
          {
            "name": "auctionUuid",
            "in": "path",
            "description": "The uuid of the auction you want the details for",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/auction/random": {
      "get": {
        "tags": [
          "Auctions"
        ],
        "summary": "Get a random auction from the database, built for Thomases guessing game",
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SaveAuction"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SaveAuction"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SaveAuction"
                }
              }
            }
          }
        }
      }
    },
    "/api/auctions/tag/{itemTag}/active/bin": {
      "get": {
        "tags": [
          "Auctions"
        ],
        "summary": "Get the 10 (or how many are available) lowest bins",
        "parameters": [
          {
            "name": "itemTag",
            "in": "path",
            "description": "The itemTag to get bins for",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "query",
            "in": "query",
            "description": "Filters for the auctions",
            "style": "deepObject",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SaveAuction"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SaveAuction"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SaveAuction"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/auctions/active/filter": {
      "get": {
        "tags": [
          "Auctions"
        ],
        "summary": "Filter all currently active auctions across every item.\nIntended for offer research (e.g. find every active auction matching a given filter set).\nBacked by a separate active-only database that stays in sync with the live auction house.",
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "description": "Filter dictionary, plus optional `page`, `pageSize` and `orderBy`.",
            "style": "deepObject",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SaveAuction"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SaveAuction"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SaveAuction"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/auctions/tag/{itemTag}/sold": {
      "get": {
        "tags": [
          "Auctions"
        ],
        "summary": "Please credit us with providing data for whatever you are doing.\nYou can also manually request a review to get older data on the discord.",
        "parameters": [
          {
            "name": "itemTag",
            "in": "path",
            "description": "The itemTag to get auctions for",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page of auctions to get",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "how many auctions to get per page 1-1000",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            }
          },
          {
            "name": "token",
            "in": "query",
            "description": "Partner token to get more data",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SoldAuction"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SoldAuction"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SoldAuction"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/auctions/batch": {
      "get": {
        "tags": [
          "Auctions"
        ],
        "summary": "Batch raw item value export, requires token",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page of auctions to get",
            "schema": {
              "type": "string",
              "default": "last"
            }
          },
          {
            "name": "tag",
            "in": "query",
            "description": "",
            "schema": {
              "type": "string",
              "default": "*"
            }
          },
          {
            "name": "token",
            "in": "query",
            "description": "Secret token to access data",
            "schema": {
              "type": "string",
              "default": ""
            }
          },
          {
            "name": "count",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/auctions/tag/{itemTag}/recent/overview": {
      "get": {
        "tags": [
          "Auctions"
        ],
        "summary": "Gets a preview of recent auctions useful in overviews",
        "parameters": [
          {
            "name": "itemTag",
            "in": "path",
            "description": "The itemTag to get auctions for",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "query",
            "in": "query",
            "description": "",
            "style": "deepObject",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AuctionPreview"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AuctionPreview"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AuctionPreview"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/auctions/tag/{itemTag}/archive/overview": {
      "get": {
        "tags": [
          "Auctions"
        ],
        "summary": "Longer time overview of auctions",
        "parameters": [
          {
            "name": "itemTag",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "query",
            "in": "query",
            "description": "",
            "style": "deepObject",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ArchiveResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArchiveResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArchiveResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/auctions/tag/{itemTag}/archive/export": {
      "post": {
        "tags": [
          "Auctions"
        ],
        "summary": "Request an export of auction data to discord webhook\nExport can contain contact details and inventory checks, access will be revoked if missuse is reported.",
        "parameters": [
          {
            "name": "itemTag",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ExportRequestCreate"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExportRequestCreate"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ExportRequestCreate"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ExportRequestCreate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ExportRequest"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExportRequest"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExportRequest"
                }
              }
            }
          }
        }
      }
    },
    "/api/auctions/tag/{itemTag}/active/overview": {
      "get": {
        "tags": [
          "Auctions"
        ],
        "summary": "Gets a preview of active auctions useful in overviews, available orderBy options \nHIGHEST_PRICE, LOWEST_PRICE (default), ENDING_SOON",
        "parameters": [
          {
            "name": "itemTag",
            "in": "path",
            "description": "The itemTag to get auctions for",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "query",
            "in": "query",
            "description": "",
            "style": "deepObject",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AuctionPreview"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AuctionPreview"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AuctionPreview"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/auctions/uid/{uid}/sold": {
      "get": {
        "tags": [
          "Auctions"
        ],
        "summary": "Gets all recorded past sells of an item with a specific uuid\nmeant for dupe detection",
        "parameters": [
          {
            "name": "uid",
            "in": "path",
            "description": "The Item uuid or just uid",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ItemSell"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ItemSell"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ItemSell"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/auctions/uids/sold": {
      "post": {
        "tags": [
          "Auctions"
        ],
        "summary": "Gets all recorded past sells of a batch of items by uuid\nmeant for dupe detection of whole inventories",
        "requestBody": {
          "description": "The Item uuid or just uid",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/InventoryBatchLookup"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InventoryBatchLookup"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/InventoryBatchLookup"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/InventoryBatchLookup"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/ItemSell"
                    }
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/ItemSell"
                    }
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/ItemSell"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/auctions/active/uuid": {
      "post": {
        "tags": [
          "Auctions"
        ],
        "summary": "Checks an array of item uuids if they are active on the ah",
        "requestBody": {
          "description": "The list of uuids to check",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/auctions/supply/low": {
      "get": {
        "tags": [
          "Auctions"
        ],
        "summary": "Get items that are in low supply",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SupplyElement"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SupplyElement"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SupplyElement"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/bazaar/{itemTag}/history/hour": {
      "get": {
        "tags": [
          "Bazaar"
        ],
        "summary": "Gets the history data for display in a graph for one hour (in intervals of 20 seconds)",
        "parameters": [
          {
            "name": "itemTag",
            "in": "path",
            "description": "What item to get data for",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GraphResult"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GraphResult"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GraphResult"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/bazaar/{itemTag}/history/day": {
      "get": {
        "tags": [
          "Bazaar"
        ],
        "summary": "Gets the history data for display in a graph for one day ( in intervals of 5 minutes)",
        "parameters": [
          {
            "name": "itemTag",
            "in": "path",
            "description": "What item to get data for",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GraphResult"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GraphResult"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GraphResult"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/bazaar/{itemTag}/history/week": {
      "get": {
        "tags": [
          "Bazaar"
        ],
        "summary": "Gets the history data for display in a graph for one week ( in intervals of 2 hours)",
        "parameters": [
          {
            "name": "itemTag",
            "in": "path",
            "description": "What item to get data for",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GraphResult"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GraphResult"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GraphResult"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/bazaar/{itemTag}/history": {
      "get": {
        "tags": [
          "Bazaar"
        ],
        "summary": "Gets the history data for display in a graph",
        "parameters": [
          {
            "name": "itemTag",
            "in": "path",
            "description": "What item to get data for",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start",
            "in": "query",
            "description": "",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end",
            "in": "query",
            "description": "",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GraphResult"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GraphResult"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GraphResult"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/bazaar/{itemTag}/snapshot": {
      "get": {
        "tags": [
          "Bazaar"
        ],
        "summary": "Gets a snapshot of a specific item at a specific time",
        "parameters": [
          {
            "name": "itemTag",
            "in": "path",
            "description": "The search term to search for",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "timestamp",
            "in": "query",
            "description": "Whattime to retrieve the information at (defaults to now)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/StorageQuickStatus"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StorageQuickStatus"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/StorageQuickStatus"
                }
              }
            }
          }
        }
      }
    },
    "/api/bazaar/{itemTag}/export": {
      "get": {
        "tags": [
          "Bazaar"
        ],
        "summary": "Exports detailed item data for a specific item, if there is no start/end specified it will return a compressed file with 20sec increments of the last 2 weeks\nFor longer timeframes we only keep 5min increments and return those, optionally with full orderbook for each point.\nNote that this endpoint requires a google id token of an account with prem+ and is subject to strict non distribute and non profit license terms",
        "parameters": [
          {
            "name": "itemTag",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start",
            "in": "query",
            "description": "",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end",
            "in": "query",
            "description": "",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "fullOrderBook",
            "in": "query",
            "description": "",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      }
    },
    "/api/craft/profit": {
      "get": {
        "tags": [
          "Crafting"
        ],
        "summary": "Craft flips",
        "parameters": [
          {
            "name": "player",
            "in": "query",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "profile",
            "in": "query",
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProfitableCraft"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProfitableCraft"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProfitableCraft"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/craft/recipe/{itemTag}": {
      "get": {
        "tags": [
          "Crafting"
        ],
        "summary": "Returns the crafting recipe for some item",
        "parameters": [
          {
            "name": "itemTag",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Recipe"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Recipe"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Recipe"
                }
              }
            }
          }
        }
      }
    },
    "/api/craft/acquisition/{itemTag}": {
      "get": {
        "tags": [
          "Crafting"
        ],
        "summary": "Returns the live quantity-specific acquisition plan for an item.",
        "parameters": [
          {
            "name": "itemTag",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "quantity",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64",
              "default": 1
            }
          },
          {
            "name": "forceCraft",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/craft/{itemTag}/instructions": {
      "get": {
        "tags": [
          "Crafting"
        ],
        "summary": "Returns craft instructions and if lbin, for every ingredient in the whole craft tree\n(the top level recipe plus all of its sub-crafts, recursively)",
        "parameters": [
          {
            "name": "itemTag",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CraftInstruction"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CraftInstruction"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CraftInstruction"
                }
              }
            }
          }
        }
      }
    },
    "/api/data/proxy": {
      "post": {
        "tags": [
          "Data"
        ],
        "summary": "Endpoint to upload proxied data",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/data/playerName": {
      "post": {
        "tags": [
          "Data"
        ],
        "summary": "Accepts player name based auction hints",
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "source",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "anonym"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Int32Int64ValueTuple"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Int32Int64ValueTuple"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Int32Int64ValueTuple"
                }
              }
            }
          }
        }
      }
    },
    "/api/data/playerNames": {
      "post": {
        "tags": [
          "Data"
        ],
        "summary": "Accepts player name based auction hints",
        "parameters": [
          {
            "name": "source",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "anonym"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Int32Int64ValueTuple"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Int32Int64ValueTuple"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Int32Int64ValueTuple"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/Filter": {
      "post": {
        "tags": [
          "Filter"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/FilterQuery"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FilterQuery"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/FilterQuery"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/FilterQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "boolean"
                }
              },
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              },
              "text/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/api/flip/update/when": {
      "get": {
        "tags": [
          "Flip"
        ],
        "summary": "The last time an update was loaded (cached for 30min)\nYou should only look at the second part",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          }
        }
      }
    },
    "/api/flip/attribute": {
      "get": {
        "tags": [
          "Flip"
        ],
        "summary": "Attribute-based craft flips",
        "parameters": [
          {
            "name": "sort",
            "in": "query",
            "description": "Optional sort key: profit, price, volume, age",
            "schema": {
              "type": "string",
              "default": "profit"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AttributeFlip"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AttributeFlip"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AttributeFlip"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      }
    },
    "/api/flip/bazaar/spread": {
      "get": {
        "tags": [
          "Flip"
        ],
        "summary": "Spread based bazaar flips",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SpreadFlip"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SpreadFlip"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SpreadFlip"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/flip/bazaar/spread/deemand": {
      "get": {
        "tags": [
          "Flip"
        ],
        "summary": "Spread based bazaar flips (top order to top order) with real time demand sorting",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DemandSpreadFlip"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DemandSpreadFlip"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DemandSpreadFlip"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      }
    },
    "/api/flip/bazaar/residual": {
      "get": {
        "tags": [
          "Flip"
        ],
        "summary": "Underserved bazaar capacity feed: estimated market capacity the tracked trader fleet is NOT\nconsuming this cycle, so (untracked) website users can place orders where they are not\ncompeting with the fleet. Ranked by value (remaining capacity x spread) descending.",
        "parameters": [
          {
            "name": "targetHoldTimeHours",
            "in": "query",
            "description": "Hold time used to scale hourly volume into the per-cycle capacity estimate.",
            "schema": {
              "type": "number",
              "format": "double",
              "default": 1.0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ResidualEntryDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ResidualEntryDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ResidualEntryDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/flip/bazaar/books": {
      "get": {
        "tags": [
          "Flip"
        ],
        "summary": "Get the current book flips on bazaar",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BookFlip"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BookFlip"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BookFlip"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/flip/mayor": {
      "get": {
        "tags": [
          "Flip"
        ],
        "summary": "Gets mayor-differential flips showing price changes after mayor election results.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MayorDiffFlip"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MayorDiffFlip"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MayorDiffFlip"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      }
    },
    "/api/flip/npc": {
      "get": {
        "tags": [
          "Flip"
        ],
        "summary": "Get profitable npc purchase ah/bazaar sell flips",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ReverseNpcFlip"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ReverseNpcFlip"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ReverseNpcFlip"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/flip/npc/reverse": {
      "get": {
        "tags": [
          "Flip"
        ],
        "summary": "Get reverse npc flips (buy items and instasell to npc for guranteed profit)",
        "parameters": [
          {
            "name": "requestRefresh",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/NpcFlip"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/NpcFlip"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/NpcFlip"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      }
    },
    "/api/flip/fusion": {
      "get": {
        "tags": [
          "Flip"
        ],
        "summary": "Discover flips using the fusion machine",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FuseFlip"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FuseFlip"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FuseFlip"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/flip/fusion/multistep": {
      "get": {
        "tags": [
          "Flip"
        ],
        "summary": "Discover multi-step flips using the fusion machine (up to 3 levels deep).\nRequires at least starter premium.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FuseFlip"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FuseFlip"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FuseFlip"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      }
    },
    "/api/flip/copper": {
      "get": {
        "tags": [
          "Flip"
        ],
        "summary": "Copper flips - buy greenhouse crops from bazaar, analyze for copper",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CopperFlip"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CopperFlip"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CopperFlip"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/flip/pet/leveling": {
      "get": {
        "tags": [
          "Flip"
        ],
        "summary": "The best pet to level to 100 per exp category with the auction to buy it from, most profitable first",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PetLevelingFlip"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PetLevelingFlip"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PetLevelingFlip"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/flip/forge": {
      "get": {
        "tags": [
          "Flip"
        ],
        "summary": "Forge flips from dwarfern mines",
        "parameters": [
          {
            "name": "uuid",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ForgeFlip"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ForgeFlip"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ForgeFlip"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/flip/settings/options": {
      "get": {
        "tags": [
          "Flip"
        ],
        "summary": "Shows you the available settings options for the socket comand subFlip,\nDoesn't currently actually do anything.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/FlipSettings"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlipSettings"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlipSettings"
                }
              }
            }
          }
        },
        "deprecated": true
      }
    },
    "/api/flip/track/purchase/{auctionId}": {
      "post": {
        "tags": [
          "Flip"
        ],
        "summary": "Callback for external flip finders to be included in tracking",
        "parameters": [
          {
            "name": "auctionId",
            "in": "path",
            "description": "Id of found and purchased auction",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "finder",
            "in": "query",
            "description": "Identifier of finder",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "playerId",
            "in": "query",
            "description": "The uuid of the player",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "price",
            "in": "query",
            "description": "Sugested target price",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": -1
            }
          },
          {
            "name": "timeStamp",
            "in": "query",
            "description": "Unix millisecond timestamp when the flip was found",
            "schema": {
              "type": "integer",
              "format": "int64",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/flip/track/found/{auctionId}": {
      "post": {
        "tags": [
          "Flip"
        ],
        "summary": "Callback for external flip finders to be included in tracking.",
        "parameters": [
          {
            "name": "auctionId",
            "in": "path",
            "description": "The id of the found auction",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "finder",
            "in": "query",
            "description": "Identifier of finder",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "price",
            "in": "query",
            "description": "Suggested target price",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": -1
            }
          },
          {
            "name": "timeStamp",
            "in": "query",
            "description": "Unix millisecond timestamp when the flip was found",
            "schema": {
              "type": "integer",
              "format": "int64",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/flip/stats/player/{playerUuid}": {
      "get": {
        "tags": [
          "Flip"
        ],
        "summary": "Get flips stats for player",
        "parameters": [
          {
            "name": "playerUuid",
            "in": "path",
            "description": "Uuid of player to get stats for",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start",
            "in": "query",
            "description": "",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end",
            "in": "query",
            "description": "The end time to retrieve",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/FlipSumary"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlipSumary"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlipSumary"
                }
              }
            }
          }
        }
      }
    },
    "/api/flip/stats/player/{playerUuid}/hour": {
      "get": {
        "tags": [
          "Flip"
        ],
        "summary": "Get flips stats for player for the last hour (faster)",
        "parameters": [
          {
            "name": "playerUuid",
            "in": "path",
            "description": "Uuid of player",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/FlipSumary"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlipSumary"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlipSumary"
                }
              }
            }
          }
        }
      }
    },
    "/api/flip/stats/finder/{finderName}": {
      "get": {
        "tags": [
          "Flip"
        ],
        "summary": "Get flips stats for one type of flip finder",
        "parameters": [
          {
            "name": "finderName",
            "in": "path",
            "description": "Name of finder to get stats for, eg SNIPER,FLIPPER or STONKS",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start",
            "in": "query",
            "description": "The start time of flips to get (inclusive)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end",
            "in": "query",
            "description": "The end time of flips to get (exclusive)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FlipDetails"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FlipDetails"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FlipDetails"
                  }
                }
              }
            }
          }
        },
        "deprecated": true
      }
    },
    "/api/flip/unknown": {
      "get": {
        "tags": [
          "Flip"
        ],
        "summary": "Gets unknown flips that were not matched to known item patterns.",
        "parameters": [
          {
            "name": "end",
            "in": "query",
            "description": "The end time for the query window.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FlipDetails"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FlipDetails"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FlipDetails"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/data/updates/{year}/{month}": {
      "get": {
        "tags": [
          "Info"
        ],
        "summary": "Gets updates.",
        "parameters": [
          {
            "name": "year",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "month",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DiscordMessage"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DiscordMessage"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DiscordMessage"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/data/ai": {
      "post": {
        "tags": [
          "Info"
        ],
        "summary": "Answers a conversational question using SkyCofl knowledge and read-only API tools.\nAt most the five most recent user/assistant rounds are accepted.",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/AiChatRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AiChatRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AiChatRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AiChatRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AiChatResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AiChatResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AiChatResponse"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Info"
        ],
        "summary": "Legacy single-question compatibility endpoint. New clients should use the POST conversation endpoint.",
        "parameters": [
          {
            "name": "prompt",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "deprecated": true
      }
    },
    "/api/data/ai/{conversationId}": {
      "delete": {
        "tags": [
          "Info"
        ],
        "summary": "Clears ai conversation.",
        "parameters": [
          {
            "name": "conversationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/items/bazaar/tags": {
      "get": {
        "tags": [
          "Item"
        ],
        "summary": "A list of item tags (hypixel ids) that are tradeable on bazaar\nThis gets updated once every hour",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/items": {
      "get": {
        "tags": [
          "Item"
        ],
        "summary": "Get all item tags, names and wherever they are on ah or bazaar",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ItemMetadataElement"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ItemMetadataElement"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ItemMetadataElement"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/items/names": {
      "post": {
        "tags": [
          "Item"
        ],
        "summary": "Batch lookup names for item tags",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "uniqueItems": true,
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "application/json": {
              "schema": {
                "uniqueItems": true,
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "text/json": {
              "schema": {
                "uniqueItems": true,
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "uniqueItems": true,
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/item/{itemTag}/details": {
      "get": {
        "tags": [
          "Item"
        ],
        "summary": "Returns details about a specific item\nThis gets updated once every hour",
        "parameters": [
          {
            "name": "itemTag",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SkyblockItem"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkyblockItem"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkyblockItem"
                }
              }
            }
          }
        }
      }
    },
    "/api/item/{itemTag}/similar": {
      "get": {
        "tags": [
          "Item"
        ],
        "summary": "Other items related to some tag",
        "parameters": [
          {
            "name": "itemTag",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ItemPreview"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ItemPreview"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ItemPreview"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/kat/profit": {
      "get": {
        "tags": [
          "Kat"
        ],
        "summary": "Kat flips",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/KatFlip"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/KatFlip"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/KatFlip"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/kat/data": {
      "get": {
        "tags": [
          "Kat"
        ],
        "summary": "Raw data of upgrade cost",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/KatUpgradeCost"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/KatUpgradeCost"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/KatUpgradeCost"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/leaderboard/profit": {
      "get": {
        "tags": [
          "Leaderboard"
        ],
        "summary": "Returns the leaderboard for the given week",
        "parameters": [
          {
            "name": "weekOffset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LeaderboardEntry"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LeaderboardEntry"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LeaderboardEntry"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/lowball/own": {
      "get": {
        "tags": [
          "Lowball"
        ],
        "summary": "Get lowball offers for the authenticated user",
        "parameters": [
          {
            "name": "before",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 20
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LowballOfferResponse"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LowballOfferResponse"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LowballOfferResponse"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      }
    },
    "/api/lowball/item/{itemTag}": {
      "get": {
        "tags": [
          "Lowball"
        ],
        "summary": "Get lowball offers by item tag",
        "parameters": [
          {
            "name": "itemTag",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "before",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 20
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LowballOfferResponse"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LowballOfferResponse"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LowballOfferResponse"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/lowball/offer/{offerId}": {
      "delete": {
        "tags": [
          "Lowball"
        ],
        "summary": "Delete the authenticated user's lowball offer",
        "parameters": [
          {
            "name": "offerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      }
    },
    "/api/mayor/{year}": {
      "get": {
        "tags": [
          "Mayor"
        ],
        "summary": "Return Election results for a specific year",
        "parameters": [
          {
            "name": "year",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CoflnetSkyMayorModelsModelElectionPeriod"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CoflnetSkyMayorModelsModelElectionPeriod"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CoflnetSkyMayorModelsModelElectionPeriod"
                }
              }
            }
          }
        }
      }
    },
    "/api/mayor": {
      "get": {
        "tags": [
          "Mayor"
        ],
        "summary": "Gets election data between two Timestamps",
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "description": "Start ISO 8601",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "description": "End eg. 2022-09-22T20:03:10.937Z",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CoflnetSkyMayorModelsModelElectionPeriod"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CoflnetSkyMayorModelsModelElectionPeriod"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CoflnetSkyMayorModelsModelElectionPeriod"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/minions/best": {
      "get": {
        "tags": [
          "Minion"
        ],
        "summary": "Ranks minions for the supplied situation.",
        "parameters": [
          {
            "name": "offlineHours",
            "in": "query",
            "description": "Hours between collections. Past the point storage fills, extra speed buys nothing.",
            "schema": {
              "type": "number",
              "format": "double",
              "default": 24.0
            }
          },
          {
            "name": "budget",
            "in": "query",
            "description": "Coins available to craft and upgrade with; omit for no limit.",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "sell",
            "in": "query",
            "description": "offer, instant or npc",
            "schema": {
              "type": "string",
              "default": "offer"
            }
          },
          {
            "name": "buy",
            "in": "query",
            "description": "instant or order",
            "schema": {
              "type": "string",
              "default": "instant"
            }
          },
          {
            "name": "objective",
            "in": "query",
            "description": "coins or experience",
            "schema": {
              "type": "string",
              "default": "coins"
            }
          },
          {
            "name": "speedBoost",
            "in": "query",
            "description": "Additive speed from fuel and upgrades, as a fraction. 0.4 means +40%.",
            "schema": {
              "type": "number",
              "format": "double",
              "default": 0.0
            }
          },
          {
            "name": "hopper",
            "in": "query",
            "description": "none, budget or enchanted",
            "schema": {
              "type": "string",
              "default": "none"
            }
          },
          {
            "name": "compaction",
            "in": "query",
            "description": "Whether a Super Compactor 3000 may be assumed",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "derpy",
            "in": "query",
            "description": "Rank for Derpy's term, which doubles output and raises skill experience by half",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "How many to return",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MinionRankingResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MinionRankingResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MinionRankingResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/mod/auth": {
      "post": {
        "tags": [
          "Mod"
        ],
        "summary": "Authorize a mod instance",
        "parameters": [
          {
            "name": "newId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      }
    },
    "/api/mod/commands": {
      "get": {
        "tags": [
          "Mod"
        ],
        "summary": "Returns a list of available server-side commands",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CommandListEntry"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CommandListEntry"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CommandListEntry"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/mod/open/{search}": {
      "get": {
        "tags": [
          "Mod"
        ],
        "summary": "Redirect for SkyHani ah button, can be called with item names and will try to redirect to correct item page",
        "parameters": [
          {
            "name": "search",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/mod/item/{uuid}": {
      "get": {
        "tags": [
          "Mod"
        ],
        "summary": "Returns extra information for an item",
        "parameters": [
          {
            "name": "uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "deprecated": true
      }
    },
    "/api/mod/description": {
      "post": {
        "tags": [
          "Mod"
        ],
        "summary": "Returns new descriptions for an array of items",
        "parameters": [
          {
            "name": "conId",
            "in": "header",
            "description": "(optional) Connection id of the calling mod to apply user settings",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "uuid",
            "in": "header",
            "description": "(optional) The uuid of the calling player",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Inventory data. The nbt encoded, ziped, base64 encoded fullInventoryNbt",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/InventoryDataWithSettings"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InventoryDataWithSettings"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/InventoryDataWithSettings"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/InventoryDataWithSettings"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/mod/description/modifications": {
      "post": {
        "tags": [
          "Mod"
        ],
        "summary": "Returns a collection of modifications for each item passed",
        "parameters": [
          {
            "name": "conId",
            "in": "header",
            "description": "(optional) Connection id of the calling mod to apply user settings",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "uuid",
            "in": "header",
            "description": "(optional) The uuid of the calling player",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Inventory data. The nbt encoded, ziped, base64 encoded fullInventoryNbt",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/InventoryDataWithSettings"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InventoryDataWithSettings"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/InventoryDataWithSettings"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/InventoryDataWithSettings"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DescModification"
                    }
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DescModification"
                    }
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DescModification"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/mod/pricing/breakdown": {
      "post": {
        "tags": [
          "Mod"
        ],
        "summary": "Returns parsable breakdown of the price of an item/auction\nIf you have nbt format you can use the /api/price/nbt endpoint with settings to get the same",
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ItemRepresent"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ItemRepresent"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ItemRepresent"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ItemRepresent"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PricingBreakdwon"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PricingBreakdwon"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PricingBreakdwon"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/mod/ratcheck/{hash}": {
      "get": {
        "tags": [
          "Mod"
        ],
        "summary": "Checks whether a mod jar is a known malicious \"rat\" via isthisarat.com.\nProxied and cached server side because isthisarat.com sits behind a Cloudflare\nchallenge that a direct browser request can't pass (403, no CORS headers).",
        "parameters": [
          {
            "name": "hash",
            "in": "path",
            "description": "Sha256 hash (64 hex characters) of the mod jar to look up",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/RatCheckingResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RatCheckingResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/RatCheckingResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/notifications/targets": {
      "get": {
        "tags": [
          "Notification"
        ],
        "summary": "Returns notification targets of the user",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/NotificationTarget"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/NotificationTarget"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/NotificationTarget"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "Notification"
        ],
        "summary": "Adds a new target",
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/NotificationTarget"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NotificationTarget"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/NotificationTarget"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/NotificationTarget"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/NotificationTarget"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotificationTarget"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotificationTarget"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "Notification"
        ],
        "summary": "Removes a target",
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/NotificationTarget"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NotificationTarget"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/NotificationTarget"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/NotificationTarget"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "Notification"
        ],
        "summary": "Updates a target",
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/NotificationTarget"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NotificationTarget"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/NotificationTarget"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/NotificationTarget"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      }
    },
    "/api/notifications/subscriptions": {
      "get": {
        "tags": [
          "Notification"
        ],
        "summary": "Returns notification subscriptions of the user",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PublicSubscription"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PublicSubscription"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PublicSubscription"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "Notification"
        ],
        "summary": "Adds a new subscription",
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/PublicSubscription"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicSubscription"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicSubscription"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PublicSubscription"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PublicSubscription"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicSubscription"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicSubscription"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "Notification"
        ],
        "summary": "Removes a subscription",
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/PublicSubscription"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicSubscription"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicSubscription"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PublicSubscription"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "Notification"
        ],
        "summary": "Updates a subscription",
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/PublicSubscription"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicSubscription"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicSubscription"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PublicSubscription"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      }
    },
    "/api/notifications/targets/test": {
      "post": {
        "tags": [
          "Notification"
        ],
        "summary": "Sends a test notification to the given target",
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/NotificationTarget"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NotificationTarget"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/NotificationTarget"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/NotificationTarget"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      }
    },
    "/api/notifications/listeners": {
      "post": {
        "tags": [
          "Notification"
        ],
        "summary": "Adds a new listener",
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Listener"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Listener"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Listener"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Listener"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Listener"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Listener"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Listener"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      },
      "get": {
        "tags": [
          "Notification"
        ],
        "summary": "Lists all listeners",
        "responses": {
          "200": {
            "description": "Returns the listeners",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Listener"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Listener"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Listener"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "Notification"
        ],
        "summary": "Removes a listener",
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Listener"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Listener"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Listener"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Listener"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      }
    },
    "/api/player/{playerUuid}/bids": {
      "get": {
        "tags": [
          "Player"
        ],
        "summary": "The last 10 bids (with auction) a player did",
        "parameters": [
          {
            "name": "playerUuid",
            "in": "path",
            "description": "The uuid of the player",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page of auctions (another 10)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "filters",
            "in": "query",
            "description": "",
            "style": "deepObject",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BidResult"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BidResult"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BidResult"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/player/{playerUuid}/auctions": {
      "get": {
        "tags": [
          "Player"
        ],
        "summary": "The last 10 auctions a player created",
        "parameters": [
          {
            "name": "playerUuid",
            "in": "path",
            "description": "The uuid of the player",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page of auctions (another 10)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "filters",
            "in": "query",
            "description": "",
            "style": "deepObject",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AuctionResult"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AuctionResult"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AuctionResult"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/player/{playerUuid}/auctions/export": {
      "get": {
        "tags": [
          "Player"
        ],
        "summary": "Export all recorded auctions for the specified player as JSON.\nThe authenticated caller must have that player verified (connected via mod).",
        "parameters": [
          {
            "name": "playerUuid",
            "in": "path",
            "description": "The uuid of the player",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SoldAuction"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SoldAuction"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SoldAuction"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      }
    },
    "/api/player/{playerUuid}/name": {
      "get": {
        "tags": [
          "Player"
        ],
        "summary": "The name for a given uuid",
        "parameters": [
          {
            "name": "playerUuid",
            "in": "path",
            "description": "The uuid of the player",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Player"
        ],
        "summary": "The name for a given uuid",
        "parameters": [
          {
            "name": "playerUuid",
            "in": "path",
            "description": "The uuid of the player",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/player/names": {
      "post": {
        "tags": [
          "Player"
        ],
        "summary": "Batch name retrieval",
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/player/bazaar/orders": {
      "get": {
        "tags": [
          "Player"
        ],
        "summary": "Returns tracked Bazaar orders with live filled amounts and estimate flags",
        "parameters": [
          {
            "name": "apiKey",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BazaarPlayerOrder"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BazaarPlayerOrder"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BazaarPlayerOrder"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/player/bazaar/flips": {
      "get": {
        "tags": [
          "Player"
        ],
        "summary": "Bazaar flips a player made while using our mod",
        "parameters": [
          {
            "name": "apiKey",
            "in": "query",
            "description": "Key generated from /cofl api in game",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CompletedBazaarFlip"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CompletedBazaarFlip"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CompletedBazaarFlip"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/player/extracted": {
      "get": {
        "tags": [
          "Player"
        ],
        "summary": "Gives access to extracted player information like hotf, booster cookie expiry time, attribute levels etc.",
        "parameters": [
          {
            "name": "apiKey",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ExtractedInfo"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExtractedInfo"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExtractedInfo"
                }
              }
            }
          }
        }
      }
    },
    "/api/topup/options": {
      "get": {
        "tags": [
          "Premium"
        ],
        "summary": "Products to top up",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TopUpProduct"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TopUpProduct"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TopUpProduct"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/topup/stripe/{productSlug}": {
      "post": {
        "tags": [
          "Premium"
        ],
        "summary": "Start a new topup session with stripe",
        "parameters": [
          {
            "name": "productSlug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/TopUpArguments"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TopUpArguments"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TopUpArguments"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TopUpArguments"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TopUpIdResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TopUpIdResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TopUpIdResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      }
    },
    "/api/topup/paypal/{productSlug}": {
      "post": {
        "tags": [
          "Premium"
        ],
        "summary": "Start a new topup session with paypal",
        "parameters": [
          {
            "name": "productSlug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/TopUpArguments"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TopUpArguments"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TopUpArguments"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TopUpArguments"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TopUpIdResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TopUpIdResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TopUpIdResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      }
    },
    "/api/topup/playstore": {
      "post": {
        "tags": [
          "Premium"
        ],
        "summary": "Starts a Google Play top-up.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PlaystorTopup"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlaystorTopup"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlaystorTopup"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      }
    },
    "/api/topup/playstore/complete": {
      "post": {
        "tags": [
          "Premium"
        ],
        "summary": "Completes a Google Play top-up.",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/GooglePlayPurchaseRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GooglePlayPurchaseRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GooglePlayPurchaseRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GooglePlayPurchaseRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "boolean"
                }
              },
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              },
              "text/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/api/topup/rates": {
      "post": {
        "tags": [
          "Premium"
        ],
        "summary": "Gets regional pricing for a batch of products.",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/PricingRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PricingRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PricingRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PricingRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/BatchProductPricingResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchProductPricingResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchProductPricingResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      }
    },
    "/api/discount/{code}": {
      "get": {
        "tags": [
          "Premium"
        ],
        "summary": "Gets discount code details.",
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ValidatedDiscount"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidatedDiscount"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidatedDiscount"
                }
              }
            }
          }
        }
      }
    },
    "/api/topup/lemonsqueezy/{productSlug}": {
      "post": {
        "tags": [
          "Premium"
        ],
        "summary": "Start a new topup session with lemonsqueezy",
        "parameters": [
          {
            "name": "productSlug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/TopUpArguments"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TopUpArguments"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TopUpArguments"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TopUpArguments"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TopUpIdResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TopUpIdResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TopUpIdResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      }
    },
    "/api/linkvertise": {
      "get": {
        "tags": [
          "Premium"
        ],
        "summary": "Rewards a user for completing an ad-link offer.\nCalled twice: once without a hash to obtain the link the user has to complete and once by\nthe provider (linkvertise or lootlabs) when the user returns after finishing the offer.",
        "parameters": [
          {
            "name": "hash",
            "in": "query",
            "description": "anti-bypass token added on the return trip (linkvertise hash / lootlabs signed token)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "state",
            "in": "query",
            "description": "one-time server state binding the callback to the user who started the offer",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "provider",
            "in": "query",
            "description": "ad provider to use, either \"linkvertise\" (default) or \"lootlabs\"",
            "schema": {
              "type": "string",
              "default": "linkvertise"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/service/purchase": {
      "post": {
        "tags": [
          "Premium"
        ],
        "summary": "Purchase a service",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/PurchaseArgs"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PurchaseArgs"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PurchaseArgs"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PurchaseArgs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      }
    },
    "/api/premium/prices/adjusted": {
      "post": {
        "tags": [
          "Premium"
        ],
        "summary": "Get adjusted prices",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "deprecated": true,
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      }
    },
    "/api/premium/user/owns": {
      "post": {
        "tags": [
          "Premium"
        ],
        "summary": "Get adjusted prices",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/OwnerShip"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/OwnerShip"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/OwnerShip"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      }
    },
    "/api/premium/transactions": {
      "get": {
        "tags": [
          "Premium"
        ],
        "summary": "Get transaction history",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CoinTransaction"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CoinTransaction"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CoinTransaction"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      }
    },
    "/api/premium/subscription/{subscriptionSlug}": {
      "post": {
        "tags": [
          "Premium"
        ],
        "summary": "Purchase a service",
        "parameters": [
          {
            "name": "subscriptionSlug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "creatorCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "discountcode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "assignSlots",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TopUpIdResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TopUpIdResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TopUpIdResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      }
    },
    "/api/premium/subscription": {
      "get": {
        "tags": [
          "Premium"
        ],
        "summary": "Gets the current user's subscriptions.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PremiumSubscription"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PremiumSubscription"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PremiumSubscription"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      }
    },
    "/api/premium/subscription/{externalId}": {
      "delete": {
        "tags": [
          "Premium"
        ],
        "summary": "Cancels a subscription.",
        "parameters": [
          {
            "name": "externalId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      }
    },
    "/api/premium/subscription/{externalId}/reactivate": {
      "put": {
        "tags": [
          "Premium"
        ],
        "summary": "Reactivates a subscription.",
        "parameters": [
          {
            "name": "externalId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      }
    },
    "/api/premium/subscription/{externalId}/switch": {
      "put": {
        "tags": [
          "Premium"
        ],
        "summary": "Switches a subscription to another tier.",
        "parameters": [
          {
            "name": "externalId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "targetProductSlug",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SubscriptionChangeResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubscriptionChangeResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubscriptionChangeResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      }
    },
    "/api/premium/subscription/{externalId}/plans": {
      "get": {
        "tags": [
          "Premium"
        ],
        "summary": "Gets the available plan changes for an owned subscription.",
        "parameters": [
          {
            "name": "externalId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SubscriptionPlan"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SubscriptionPlan"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SubscriptionPlan"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      }
    },
    "/api/blacklist/status": {
      "get": {
        "tags": [
          "Premium"
        ],
        "summary": "Check if the caller's IP is currently blacklisted",
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/blacklist/unblock": {
      "post": {
        "tags": [
          "Premium"
        ],
        "summary": "Unblock the caller's IP. Requires Premium+ subscription.",
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/item/price/{itemTag}": {
      "get": {
        "tags": [
          "Prices"
        ],
        "summary": "Aggregated sumary of item prices for the 2 last days\nstackable items are reduced to a single item",
        "parameters": [
          {
            "name": "itemTag",
            "in": "path",
            "description": "The item tag you want prices for",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filters",
            "in": "query",
            "description": "Filter parameters - can be added directly as query parameters (e.g., ?Reforge=Legendary&Rarity=EPIC)",
            "style": "deepObject",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PriceSumary"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PriceSumary"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PriceSumary"
                }
              }
            }
          }
        }
      }
    },
    "/api/item/price/{itemTag}/bin": {
      "get": {
        "tags": [
          "Prices"
        ],
        "summary": "Gets the lowest bin by item type",
        "parameters": [
          {
            "name": "itemTag",
            "in": "path",
            "description": "The tag of the item to search for bin",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filters",
            "in": "query",
            "description": "Filter parameters - can be added directly as query parameters",
            "style": "deepObject",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/BinResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BinResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BinResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/item/price/{itemTag}/current": {
      "get": {
        "tags": [
          "Prices"
        ],
        "summary": "Gets the current (latest known) price for an item and available quantity, supports items from bazaar and ah",
        "parameters": [
          {
            "name": "itemTag",
            "in": "path",
            "description": "The tag of the item",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "count",
            "in": "query",
            "description": "How many items to search for (and include in cost)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CurrentPrice"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrentPrice"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrentPrice"
                }
              }
            }
          }
        }
      }
    },
    "/api/item/price/{itemTag}/history/day": {
      "get": {
        "tags": [
          "Prices"
        ],
        "summary": "Gets the price history for an item for the last 24 hours",
        "parameters": [
          {
            "name": "itemTag",
            "in": "path",
            "description": "The tag of the item",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filters",
            "in": "query",
            "description": "Filter parameters - can be added directly as query parameters",
            "style": "deepObject",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AveragePrice"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AveragePrice"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AveragePrice"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/item/price/{itemTag}/history/week": {
      "get": {
        "tags": [
          "Prices"
        ],
        "summary": "Gets the price history for an item for the last 7 days",
        "parameters": [
          {
            "name": "itemTag",
            "in": "path",
            "description": "The tag of the item",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filters",
            "in": "query",
            "description": "Filter parameters - can be added directly as query parameters",
            "style": "deepObject",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AveragePrice"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AveragePrice"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AveragePrice"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/item/price/{itemTag}/history/month": {
      "get": {
        "tags": [
          "Prices"
        ],
        "summary": "Gets the price history for an item for one month",
        "parameters": [
          {
            "name": "itemTag",
            "in": "path",
            "description": "The tag of the item",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filters",
            "in": "query",
            "description": "Filter parameters - can be added directly as query parameters",
            "style": "deepObject",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AveragePrice"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AveragePrice"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AveragePrice"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/item/price/{itemTag}/history/full": {
      "get": {
        "tags": [
          "Prices"
        ],
        "summary": "Gets the price history for an item for all time",
        "parameters": [
          {
            "name": "itemTag",
            "in": "path",
            "description": "The tag of the item",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AveragePrice"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AveragePrice"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AveragePrice"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/item/price/{itemTag}/history/year": {
      "get": {
        "tags": [
          "Prices"
        ],
        "summary": "Gets the price history for an item for one year (Premium only)",
        "parameters": [
          {
            "name": "itemTag",
            "in": "path",
            "description": "The tag of the item",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filters",
            "in": "query",
            "description": "Filter parameters - can be added directly as query parameters",
            "style": "deepObject",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PriceStatistics"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PriceStatistics"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PriceStatistics"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      }
    },
    "/api/item/price/{itemTag}/analysis": {
      "get": {
        "tags": [
          "Prices"
        ],
        "summary": "Gets advanced analysis (volume clustering and sell speed by price) for the specified duration.\nDurations up to 7 days are free. 30 days requires starter premium, 365 days requires premium.",
        "parameters": [
          {
            "name": "itemTag",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "days",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 7
            }
          },
          {
            "name": "filters",
            "in": "query",
            "style": "deepObject",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AdvancedAnalysisResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdvancedAnalysisResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdvancedAnalysisResult"
                }
              }
            }
          }
        }
      }
    },
    "/api/item/price/{itemTag}/analysis/live": {
      "get": {
        "tags": [
          "Prices"
        ],
        "summary": "Gets a live snapshot of the current market for an item: BIN price distribution,\ntime-on-market buckets and active listing/seller counts. Auction-house only for now.",
        "parameters": [
          {
            "name": "itemTag",
            "in": "path",
            "description": "The item tag you want live market data for",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filters",
            "in": "query",
            "description": "Filter parameters - can be added directly as query parameters",
            "style": "deepObject",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/LiveMarketAnalysisResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LiveMarketAnalysisResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/LiveMarketAnalysisResult"
                }
              }
            }
          }
        }
      }
    },
    "/api/filter/options": {
      "get": {
        "tags": [
          "Prices"
        ],
        "summary": "Returns all available filters with all available options",
        "parameters": [
          {
            "name": "itemTag",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "*"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FilterOptions"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FilterOptions"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FilterOptions"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/item/filters": {
      "post": {
        "tags": [
          "Prices"
        ],
        "summary": "Gets filter parameters for a specific item based on its properties",
        "requestBody": {
          "description": "The item to analyze for filters",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ItemRepresent"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ItemRepresent"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ItemRepresent"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ItemRepresent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/price/nbt": {
      "post": {
        "tags": [
          "Prices"
        ],
        "summary": "Returns price estimations for nbt data (for in game mods) \nNOTE: THIS WILL probably BE A PAID FEATURE IN THE FUTURE",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/InventoryData"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InventoryData"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/InventoryData"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/InventoryData"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PriceEstimate"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PriceEstimate"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PriceEstimate"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/prices/neu": {
      "get": {
        "tags": [
          "Prices"
        ],
        "summary": "Returns price in NEU format - but more accurate",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "integer",
                    "format": "int64"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "integer",
                    "format": "int64"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "integer",
                    "format": "int64"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/prices/change": {
      "get": {
        "tags": [
          "Prices"
        ],
        "summary": "Returns how much prices changed in the last 24 hours for all requested items",
        "parameters": [
          {
            "name": "itemTags",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/DropStatistic"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/DropStatistic"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/DropStatistic"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/price/attributes": {
      "get": {
        "tags": [
          "Prices"
        ],
        "summary": "Returns price information for attribute-enhanced items (Deprecated)",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "integer",
                      "format": "int64"
                    }
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "integer",
                      "format": "int64"
                    }
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "integer",
                      "format": "int64"
                    }
                  }
                }
              }
            }
          }
        },
        "deprecated": true
      }
    },
    "/api/bazaar/item/history/{itemTag}/status": {
      "get": {
        "tags": [
          "Prices"
        ],
        "summary": "Returns bazaar history",
        "parameters": [
          {
            "name": "itemTag",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "deprecated": true
      }
    },
    "/api/networth": {
      "post": {
        "tags": [
          "Prices"
        ],
        "summary": "Networth estimation for a profile based on market data",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Profile"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Profile"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Profile"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Profile"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/NetworthBreakDown"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NetworthBreakDown"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/NetworthBreakDown"
                }
              }
            }
          }
        }
      }
    },
    "/api/profile/items": {
      "post": {
        "tags": [
          "Prices"
        ],
        "summary": "Networth estimation for a profile based on market data",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Member"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Member"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Member"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Member"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/SaveAuction"
                    }
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/SaveAuction"
                    }
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/SaveAuction"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/referral/referred/by": {
      "post": {
        "tags": [
          "Referral"
        ],
        "summary": "tells the backend that the user was referred by someone",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ReferredBy"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReferredBy"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ReferredBy"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ReferredBy"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      }
    },
    "/api/referral/info": {
      "get": {
        "tags": [
          "Referral"
        ],
        "summary": "Returns ReferralCode and statistics for the user",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ReferralInfo"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReferralInfo"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReferralInfo"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      }
    },
    "/api/item/search/{searchVal}": {
      "get": {
        "tags": [
          "Search"
        ],
        "summary": "Searches through all items, includes the rarity of items",
        "parameters": [
          {
            "name": "searchVal",
            "in": "path",
            "description": "The search term to search for",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "expectedResults",
            "in": "query",
            "description": "How many results to return",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 5
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SearchResultItem"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SearchResultItem"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SearchResultItem"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/search/{searchVal}": {
      "get": {
        "tags": [
          "Search"
        ],
        "summary": "Full search, includes item types, items (by uuid), players, auctions and enchantments",
        "parameters": [
          {
            "name": "searchVal",
            "in": "path",
            "description": "The search term to search for",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum amount of results to return",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 5
            }
          },
          {
            "name": "update",
            "in": "query",
            "description": "Wait longer for slow sources (eg. resolving unknown players), used when the user explicitly refreshes",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SearchResultItem"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SearchResultItem"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SearchResultItem"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/search/player/{playerName}": {
      "get": {
        "tags": [
          "Search"
        ],
        "summary": "Search player",
        "parameters": [
          {
            "name": "playerName",
            "in": "path",
            "description": "The player name to search for",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PlayerResult"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PlayerResult"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PlayerResult"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/premium/slots/products": {
      "get": {
        "tags": [
          "TierSlots"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PurchaseableProduct"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PurchaseableProduct"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PurchaseableProduct"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      }
    },
    "/api/premium/slots": {
      "get": {
        "tags": [
          "TierSlots"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OwnedTierSlot"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OwnedTierSlot"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OwnedTierSlot"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      }
    },
    "/api/premium/slots/assigned": {
      "get": {
        "tags": [
          "TierSlots"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TierSlotAccess"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TierSlotAccess"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TierSlotAccess"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      }
    },
    "/api/premium/slots/{id}/assignment": {
      "put": {
        "tags": [
          "TierSlots"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/SlotRecipient"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SlotRecipient"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SlotRecipient"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SlotRecipient"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      }
    },
    "/api/inventory": {
      "get": {
        "tags": [
          "Trade"
        ],
        "summary": "Returns the last known inventory of the player based on his account token",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Item"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Item"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Item"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      }
    },
    "/api/trades": {
      "post": {
        "tags": [
          "Trade"
        ],
        "summary": "Creates a new trade request",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TradeRequest"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TradeRequest"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TradeRequest"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TradeRequest"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      },
      "get": {
        "tags": [
          "Trade"
        ],
        "summary": "Returns trades based on the given filters",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 10
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TradeRequest"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TradeRequest"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TradeRequest"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/trades/{id}": {
      "delete": {
        "tags": [
          "Trade"
        ],
        "summary": "Deletes the trade with the given id",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      }
    },
    "/api/trades/own": {
      "get": {
        "tags": [
          "Trade"
        ],
        "summary": "Trades of current user",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TradeRequest"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TradeRequest"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TradeRequest"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      }
    },
    "/api/user/privacy": {
      "get": {
        "tags": [
          "User"
        ],
        "summary": "Get the users privacy settings (requires google token)",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PrivacySettings"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PrivacySettings"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PrivacySettings"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "User"
        ],
        "summary": "Update users privacy settings (requires google token)",
        "requestBody": {
          "description": "The new settings",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/PrivacySettings"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PrivacySettings"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PrivacySettings"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PrivacySettings"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      }
    },
    "/api/user/terms": {
      "get": {
        "tags": [
          "User"
        ],
        "summary": "Returns whether the authenticated user has accepted the current\nSkyCofl Agreement Root.",
        "parameters": [
          {
            "name": "locale",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "en"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TermsStatus"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TermsStatus"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TermsStatus"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "User"
        ],
        "summary": "Records an express acceptance of the exact current SkyCofl\nAgreement Root.",
        "parameters": [
          {
            "name": "locale",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "en"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/AcceptTermsRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AcceptTermsRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AcceptTermsRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AcceptTermsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TermsStatus"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TermsStatus"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TermsStatus"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      }
    },
    "/api/user/me": {
      "delete": {
        "tags": [
          "User"
        ],
        "summary": "Deletes the caller's account (requires google token).\nSee Coflnet.Sky.Api.Services.AccountDeletionService for exactly what this does and does not cover -\nit cascades what SkyApi and SkyIndexer can reach (account record, connected minecraft\naccounts, player state, settings incl. privacy settings), but purchase history is kept\nwhere legally required and some other Coflnet services are not wired into the cascade yet.\nBecause of that this is never a guarantee of full erasure across every downstream service -\nthe response lists what was erased and what is retained.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AccountDeletionResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountDeletionResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountDeletionResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Missing or invalid token. Provide a valid token in one of the headers:\n- Authorization: Bearer {token}\n- GoogleToken: {token}\n\nSee https://sky.coflnet.com/api for documentation."
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          },
          {
            "GoogleToken": [ ]
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "AcceptTermsRequest": {
        "type": "object",
        "properties": {
          "hash": {
            "type": "string",
            "description": "The accepted agreement hash.",
            "nullable": true
          },
          "version": {
            "type": "string",
            "description": "The accepted agreement version.",
            "nullable": true
          },
          "source": {
            "type": "string",
            "description": "The acceptance source.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents an accept terms request."
      },
      "AccountDeletionResult": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "description": "The (now deleted) numeric/google id of the user the request was processed for.",
            "nullable": true
          },
          "message": {
            "type": "string",
            "description": "Human readable summary of what happened.",
            "nullable": true
          },
          "erased": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Data that was deleted or anonymized as part of this request.",
            "nullable": true
          },
          "retained": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Data that is intentionally NOT covered by this endpoint, with the reason why.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Response returned for a processed account deletion request.\nDocuments explicitly what was (and was not) erased, so callers never mistake\na partial cascade for full erasure."
      },
      "ActivePet": {
        "required": [
          "lastUpdated"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "colorCode": {
            "type": "string",
            "nullable": true
          },
          "progressPercent": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "targetLevel": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "lastUpdated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "AdvancedAnalysisResult": {
        "required": [
          "avgPrice",
          "avgSellTimeSeconds",
          "binPercentage",
          "maxPrice",
          "medianPrice",
          "medianSellTimeSeconds",
          "minPrice",
          "priceCoeffVariation",
          "priceStdDev",
          "salesPerDay",
          "totalSales",
          "uniqueBuyers",
          "uniqueSellers"
        ],
        "type": "object",
        "properties": {
          "volumeBuckets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VolumeBucket"
            },
            "nullable": true
          },
          "sellSpeedBuckets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SellSpeedBucket"
            },
            "nullable": true
          },
          "totalSales": {
            "type": "integer",
            "format": "int32"
          },
          "avgSellTimeSeconds": {
            "type": "number",
            "format": "double"
          },
          "medianSellTimeSeconds": {
            "type": "number",
            "format": "double"
          },
          "avgPrice": {
            "type": "number",
            "format": "double"
          },
          "medianPrice": {
            "type": "number",
            "format": "double"
          },
          "minPrice": {
            "type": "integer",
            "format": "int64"
          },
          "maxPrice": {
            "type": "integer",
            "format": "int64"
          },
          "binPercentage": {
            "type": "number",
            "format": "double"
          },
          "salesPerDay": {
            "type": "number",
            "format": "double"
          },
          "hourlyBreakdown": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HourlyStat"
            },
            "nullable": true
          },
          "priceStdDev": {
            "type": "number",
            "format": "double"
          },
          "priceCoeffVariation": {
            "type": "number",
            "format": "double"
          },
          "topSellers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SellerShare"
            },
            "nullable": true
          },
          "uniqueBuyers": {
            "type": "integer",
            "format": "int32"
          },
          "uniqueSellers": {
            "type": "integer",
            "format": "int32"
          },
          "topBuyers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BuyerShare"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AiChatRequest": {
        "required": [
          "message"
        ],
        "type": "object",
        "properties": {
          "conversationId": {
            "pattern": "^[a-f0-9]{32}$",
            "type": "string",
            "description": "Opaque server-issued conversation id. Omit it to start a new conversation.",
            "nullable": true
          },
          "message": {
            "maxLength": 6000,
            "minLength": 1,
            "type": "string",
            "description": "Gets or sets the message."
          },
          "page": {
            "maxLength": 300,
            "type": "string",
            "description": "The current site path, used only to keep answers relevant and linkable.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents an AI chat request."
      },
      "AiChatResponse": {
        "required": [
          "requiresBugReport",
          "requiresNewConversation",
          "transcriptBytes",
          "transcriptLimit"
        ],
        "type": "object",
        "properties": {
          "answer": {
            "type": "string",
            "description": "Gets or sets the answer.",
            "nullable": true
          },
          "conversationId": {
            "type": "string",
            "description": "Gets or sets the conversation id.",
            "nullable": true
          },
          "traceId": {
            "type": "string",
            "description": "Gets or sets the trace id.",
            "nullable": true
          },
          "transcriptBytes": {
            "type": "integer",
            "description": "Gets or sets the transcript bytes.",
            "format": "int32"
          },
          "transcriptLimit": {
            "type": "integer",
            "description": "Gets or sets the transcript limit.",
            "format": "int32"
          },
          "requiresNewConversation": {
            "type": "boolean",
            "description": "Gets or sets the requires new conversation."
          },
          "requiresBugReport": {
            "type": "boolean",
            "description": "Gets or sets the requires bug report."
          },
          "error": {
            "type": "string",
            "description": "Gets or sets the error.",
            "nullable": true
          },
          "quota": {
            "$ref": "#/components/schemas/AiQuota"
          },
          "dataNotice": {
            "type": "string",
            "description": "Gets or sets the data notice.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents an AI chat response."
      },
      "AiQuota": {
        "required": [
          "limit",
          "remaining",
          "resetsAt"
        ],
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "description": "Gets or sets the limit.",
            "format": "int32"
          },
          "remaining": {
            "type": "integer",
            "description": "Gets or sets the remaining.",
            "format": "int32"
          },
          "resetsAt": {
            "type": "string",
            "description": "Gets or sets the resets at.",
            "format": "date-time"
          },
          "tier": {
            "type": "string",
            "description": "Gets or sets the tier.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents an AI usage quota."
      },
      "ApiSaveAuction": {
        "required": [
          "anvilUses",
          "bin",
          "category",
          "count",
          "end",
          "flatNbt",
          "highestBidAmount",
          "itemCreatedAt",
          "reforge",
          "start",
          "startingBid",
          "tier"
        ],
        "type": "object",
        "properties": {
          "flatNbt": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "nullable": true
          },
          "uuid": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int32"
          },
          "startingBid": {
            "type": "integer",
            "format": "int64"
          },
          "tag": {
            "maxLength": 40,
            "type": "string",
            "nullable": true
          },
          "itemName": {
            "maxLength": 45,
            "type": "string",
            "nullable": true
          },
          "start": {
            "type": "string",
            "format": "date-time"
          },
          "end": {
            "type": "string",
            "format": "date-time"
          },
          "auctioneerId": {
            "type": "string",
            "nullable": true
          },
          "profileId": {
            "type": "string",
            "nullable": true
          },
          "coop": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "coopMembers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UuId"
            },
            "nullable": true
          },
          "highestBidAmount": {
            "type": "integer",
            "format": "int64"
          },
          "bids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SaveBids"
            },
            "nullable": true
          },
          "anvilUses": {
            "type": "integer",
            "format": "int32"
          },
          "enchantments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Enchantment"
            },
            "nullable": true
          },
          "nbtData": {
            "$ref": "#/components/schemas/NbtData"
          },
          "itemCreatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "reforge": {
            "$ref": "#/components/schemas/Reforge"
          },
          "category": {
            "$ref": "#/components/schemas/Category"
          },
          "tier": {
            "$ref": "#/components/schemas/Tier"
          },
          "bin": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "ArchiveResponse": {
        "required": [
          "queryStatus"
        ],
        "type": "object",
        "properties": {
          "auctions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AuctionPreview"
            },
            "description": "The auctions that were found",
            "nullable": true
          },
          "queryStatus": {
            "$ref": "#/components/schemas/QueryStatus"
          }
        },
        "additionalProperties": false,
        "description": "Represents an archive response."
      },
      "AttributeFlip": {
        "required": [
          "auctionPrice",
          "estimatedCraftingCost",
          "foundAt",
          "profitAfterTax",
          "target",
          "volume"
        ],
        "type": "object",
        "properties": {
          "tag": {
            "type": "string",
            "nullable": true
          },
          "itemName": {
            "type": "string",
            "nullable": true
          },
          "auctionToBuy": {
            "type": "string",
            "nullable": true
          },
          "auctionPrice": {
            "type": "integer",
            "format": "int64"
          },
          "profitAfterTax": {
            "type": "integer",
            "format": "int64"
          },
          "ingredients": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AttributeFlipIngredient"
            },
            "nullable": true
          },
          "startingKey": {
            "$ref": "#/components/schemas/AttributeFlipAuctionKey"
          },
          "endingKey": {
            "$ref": "#/components/schemas/AttributeFlipAuctionKey"
          },
          "target": {
            "type": "integer",
            "format": "int64"
          },
          "estimatedCraftingCost": {
            "type": "integer",
            "format": "int64"
          },
          "foundAt": {
            "type": "string",
            "format": "date-time"
          },
          "volume": {
            "type": "number",
            "format": "float"
          }
        },
        "additionalProperties": false
      },
      "AttributeFlipAuctionKey": {
        "required": [
          "count"
        ],
        "type": "object",
        "properties": {
          "reforge": {
            "type": "string",
            "nullable": true
          },
          "tier": {
            "$ref": "#/components/schemas/Tier"
          },
          "enchants": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AttributeFlipEnchant"
            },
            "nullable": true
          },
          "modifiers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AttributeFlipModifier"
            },
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "AttributeFlipEnchant": {
        "required": [
          "lvl"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "lvl": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "AttributeFlipIngredient": {
        "required": [
          "amount",
          "price"
        ],
        "type": "object",
        "properties": {
          "itemId": {
            "type": "string",
            "nullable": true
          },
          "attributeName": {
            "type": "string",
            "nullable": true
          },
          "amount": {
            "type": "integer",
            "format": "int32"
          },
          "price": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "AttributeFlipModifier": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AuctionPreview": {
        "required": [
          "end",
          "playerName",
          "price",
          "seller",
          "uuid"
        ],
        "type": "object",
        "properties": {
          "seller": {
            "type": "string",
            "nullable": true
          },
          "price": {
            "type": "integer",
            "format": "int64"
          },
          "end": {
            "type": "string",
            "format": "date-time"
          },
          "uuid": {
            "type": "string",
            "nullable": true
          },
          "playerName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AuctionResult": {
        "required": [
          "auctionId",
          "bin",
          "end",
          "highestBid",
          "itemName",
          "startingBid",
          "tag"
        ],
        "type": "object",
        "properties": {
          "auctionId": {
            "type": "string",
            "nullable": true
          },
          "highestBid": {
            "type": "integer",
            "format": "int64"
          },
          "itemName": {
            "type": "string",
            "nullable": true
          },
          "tag": {
            "type": "string",
            "nullable": true
          },
          "end": {
            "type": "string",
            "format": "date-time"
          },
          "startingBid": {
            "type": "integer",
            "format": "int64"
          },
          "bin": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "Autopet": {
        "required": [
          "rules_limit"
        ],
        "type": "object",
        "properties": {
          "rules_limit": {
            "type": "integer",
            "description": "Gets or sets the rules limit.",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Represents an autopet."
      },
      "AveragePrice": {
        "required": [
          "avg",
          "max",
          "min",
          "time",
          "volume"
        ],
        "type": "object",
        "properties": {
          "min": {
            "type": "number",
            "format": "float"
          },
          "max": {
            "type": "number",
            "format": "float"
          },
          "avg": {
            "type": "number",
            "format": "double"
          },
          "volume": {
            "type": "integer",
            "format": "int32"
          },
          "time": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "BagContents": {
        "type": "object",
        "properties": {
          "potion_bag": {
            "$ref": "#/components/schemas/InventoryElem"
          },
          "talisman_bag": {
            "$ref": "#/components/schemas/InventoryElem"
          },
          "fishing_bag": {
            "$ref": "#/components/schemas/InventoryElem"
          },
          "quiver": {
            "$ref": "#/components/schemas/InventoryElem"
          }
        },
        "additionalProperties": false,
        "description": "Represents a bag contents."
      },
      "Banking": {
        "required": [
          "balance"
        ],
        "type": "object",
        "properties": {
          "balance": {
            "type": "number",
            "description": "Gets or sets the balance.",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Represents banking data."
      },
      "BatchProductPricingResponse": {
        "required": [
          "discountPercent"
        ],
        "type": "object",
        "properties": {
          "creatorCode": {
            "type": "string",
            "nullable": true
          },
          "discountPercent": {
            "type": "number",
            "format": "double"
          },
          "products": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductPricingResponse"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BazaarFlip": {
        "required": [
          "buyPrice",
          "estimatedBuyFillSeconds",
          "estimatedFees",
          "estimatedSellFillSeconds",
          "medianBuyPrice",
          "profitPerHour",
          "sellPrice",
          "timestamp",
          "volume"
        ],
        "type": "object",
        "properties": {
          "itemTag": {
            "type": "string",
            "nullable": true
          },
          "buyPrice": {
            "type": "number",
            "format": "double"
          },
          "sellPrice": {
            "type": "number",
            "format": "double"
          },
          "profitPerHour": {
            "type": "number",
            "format": "double"
          },
          "volume": {
            "type": "integer",
            "format": "int64"
          },
          "estimatedFees": {
            "type": "number",
            "format": "double"
          },
          "timestamp": {
            "type": "string",
            "format": "date-time"
          },
          "medianBuyPrice": {
            "type": "number",
            "format": "double"
          },
          "estimatedBuyFillSeconds": {
            "type": "number",
            "format": "double"
          },
          "estimatedSellFillSeconds": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "BazaarPlayerOrder": {
        "required": [
          "amount",
          "created",
          "filledAmount",
          "isEstimate",
          "isExpired",
          "isSell",
          "pricePerUnit"
        ],
        "type": "object",
        "properties": {
          "isExpired": {
            "type": "boolean"
          },
          "claimedAmount": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "filledAmount": {
            "type": "integer",
            "description": "Filled quantity, including the current matching estimate.",
            "format": "int64"
          },
          "isEstimate": {
            "type": "boolean",
            "description": "True until a personal observation or the market moving past this price confirms the fill."
          },
          "isSell": {
            "type": "boolean"
          },
          "itemTag": {
            "type": "string",
            "nullable": true
          },
          "itemName": {
            "type": "string",
            "nullable": true
          },
          "amount": {
            "type": "integer",
            "format": "int64"
          },
          "pricePerUnit": {
            "type": "number",
            "format": "double"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "customers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Fill"
            },
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "A tracked Bazaar order with the matching engine's current fill state."
      },
      "BidResult": {
        "required": [
          "auctionId",
          "bin",
          "end",
          "highestBid",
          "highestOwnBid",
          "itemName",
          "startingBid",
          "tag"
        ],
        "type": "object",
        "properties": {
          "highestOwnBid": {
            "type": "integer",
            "description": "The highest bid the requesting player has made",
            "format": "int64"
          },
          "auctionId": {
            "type": "string",
            "nullable": true
          },
          "highestBid": {
            "type": "integer",
            "format": "int64"
          },
          "itemName": {
            "type": "string",
            "nullable": true
          },
          "tag": {
            "type": "string",
            "nullable": true
          },
          "end": {
            "type": "string",
            "format": "date-time"
          },
          "startingBid": {
            "type": "integer",
            "format": "int64"
          },
          "bin": {
            "type": "boolean"
          }
        },
        "additionalProperties": false,
        "description": "Paginated bid result for player overview"
      },
      "BinResponse": {
        "required": [
          "lowest",
          "secondLowest",
          "uuid"
        ],
        "type": "object",
        "properties": {
          "lowest": {
            "type": "integer",
            "description": "The lowest bin price",
            "format": "int64"
          },
          "uuid": {
            "type": "string",
            "description": "The lowest bin auction uuid",
            "nullable": true
          },
          "secondLowest": {
            "type": "integer",
            "description": "The price of the second lowest bin",
            "format": "int64"
          }
        },
        "additionalProperties": false,
        "description": "Lowest bin response"
      },
      "BlockPos": {
        "required": [
          "x",
          "y",
          "z"
        ],
        "type": "object",
        "properties": {
          "x": {
            "type": "number",
            "format": "double"
          },
          "y": {
            "type": "number",
            "format": "double"
          },
          "z": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "BookFlip": {
        "required": [
          "estimatedFees",
          "hourlyVolume",
          "profitPerHour",
          "timestamp"
        ],
        "type": "object",
        "properties": {
          "startTag": {
            "type": "string",
            "nullable": true
          },
          "endTag": {
            "type": "string",
            "nullable": true
          },
          "profitPerHour": {
            "type": "number",
            "format": "double"
          },
          "hourlyVolume": {
            "type": "integer",
            "format": "int64"
          },
          "estimatedFees": {
            "type": "number",
            "format": "double"
          },
          "timestamp": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "BuyerShare": {
        "required": [
          "count",
          "percentage"
        ],
        "type": "object",
        "properties": {
          "buyer": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int32"
          },
          "percentage": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "Category": {
        "enum": [
          "UNKNOWN",
          "WEAPON",
          "ARMOR",
          "ACCESSORIES",
          "CONSUMABLES",
          "BLOCKS",
          "MISC",
          "cosmetic",
          "dyes"
        ],
        "type": "string"
      },
      "CoflnetSkyMayorModelsMinister": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "perk": {
            "$ref": "#/components/schemas/CoflnetSkyMayorModelsPerk"
          }
        },
        "additionalProperties": false
      },
      "CoflnetSkyMayorModelsModelCandidate": {
        "required": [
          "votes"
        ],
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "perks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CoflnetSkyMayorModelsModelPerk"
            },
            "nullable": true
          },
          "votes": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "CoflnetSkyMayorModelsModelElectionPeriod": {
        "required": [
          "year"
        ],
        "type": "object",
        "properties": {
          "candidates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CoflnetSkyMayorModelsModelCandidate"
            },
            "nullable": true
          },
          "end": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "string",
            "nullable": true
          },
          "start": {
            "type": "string",
            "nullable": true
          },
          "winner": {
            "$ref": "#/components/schemas/CoflnetSkyMayorModelsModelWinner"
          },
          "year": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "CoflnetSkyMayorModelsModelPerk": {
        "required": [
          "minister"
        ],
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "minister": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "CoflnetSkyMayorModelsModelWinner": {
        "required": [
          "votes"
        ],
        "type": "object",
        "properties": {
          "minister": {
            "$ref": "#/components/schemas/CoflnetSkyMayorModelsMinister"
          },
          "key": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "perks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CoflnetSkyMayorModelsModelPerk"
            },
            "nullable": true
          },
          "votes": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "CoflnetSkyMayorModelsPerk": {
        "required": [
          "minister"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "minister": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "CoinTransaction": {
        "required": [
          "amount",
          "timeStamp"
        ],
        "type": "object",
        "properties": {
          "productId": {
            "type": "string",
            "description": "Gets or sets the product id.",
            "nullable": true
          },
          "reference": {
            "type": "string",
            "description": "Gets or sets the reference.",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "description": "Gets or sets the amount.",
            "format": "double"
          },
          "timeStamp": {
            "type": "string",
            "description": "Gets or sets the time stamp.",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Represents a coin transaction."
      },
      "ColorEnchant": {
        "required": [
          "color",
          "level",
          "type",
          "value"
        ],
        "type": "object",
        "properties": {
          "color": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "type": "integer",
            "format": "int64"
          },
          "type": {
            "$ref": "#/components/schemas/EnchantmentType"
          },
          "level": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ColorSaveAuction": {
        "required": [
          "anvilUses",
          "bin",
          "category",
          "count",
          "end",
          "flatNbt",
          "highestBidAmount",
          "itemCreatedAt",
          "reforge",
          "start",
          "startingBid",
          "tier"
        ],
        "type": "object",
        "properties": {
          "enchantments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ColorEnchant"
            },
            "nullable": true
          },
          "uuid": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int32"
          },
          "startingBid": {
            "type": "integer",
            "format": "int64"
          },
          "tag": {
            "maxLength": 40,
            "type": "string",
            "nullable": true
          },
          "itemName": {
            "maxLength": 45,
            "type": "string",
            "nullable": true
          },
          "start": {
            "type": "string",
            "format": "date-time"
          },
          "end": {
            "type": "string",
            "format": "date-time"
          },
          "auctioneerId": {
            "type": "string",
            "nullable": true
          },
          "profileId": {
            "type": "string",
            "nullable": true
          },
          "coop": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "coopMembers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UuId"
            },
            "nullable": true
          },
          "highestBidAmount": {
            "type": "integer",
            "format": "int64"
          },
          "bids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SaveBids"
            },
            "nullable": true
          },
          "anvilUses": {
            "type": "integer",
            "format": "int32"
          },
          "nbtData": {
            "$ref": "#/components/schemas/NbtData"
          },
          "itemCreatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "reforge": {
            "$ref": "#/components/schemas/Reforge"
          },
          "category": {
            "$ref": "#/components/schemas/Category"
          },
          "tier": {
            "$ref": "#/components/schemas/Tier"
          },
          "bin": {
            "type": "boolean"
          },
          "flatNbt": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CommandListEntry": {
        "required": [
          "description",
          "subCommand"
        ],
        "type": "object",
        "properties": {
          "subCommand": {
            "type": "string",
            "description": "The commands label. ie /cofl {this}",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "The descriptive help text to display",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents help text for some command"
      },
      "CompletedBazaarFlip": {
        "required": [
          "amount",
          "buyPrice",
          "playerUuid",
          "profit",
          "sellPrice",
          "soldAt",
          "year"
        ],
        "type": "object",
        "properties": {
          "playerUuid": {
            "type": "string",
            "format": "uuid"
          },
          "year": {
            "type": "integer",
            "format": "int32"
          },
          "itemTag": {
            "type": "string",
            "nullable": true
          },
          "itemName": {
            "type": "string",
            "nullable": true
          },
          "amount": {
            "type": "integer",
            "format": "int32"
          },
          "buyPrice": {
            "type": "integer",
            "format": "int64"
          },
          "sellPrice": {
            "type": "integer",
            "format": "int64"
          },
          "profit": {
            "type": "integer",
            "format": "int64"
          },
          "soldAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "Composter": {
        "required": [
          "costReductionPercent",
          "fuelCap",
          "fuelStored",
          "lastCompostToClaim",
          "matterCap",
          "matterStored",
          "multiDropChance",
          "nextCompostAt",
          "speedPercentIncrease"
        ],
        "type": "object",
        "properties": {
          "nextCompostAt": {
            "type": "string",
            "format": "date-time"
          },
          "fuelStored": {
            "type": "integer",
            "format": "int32"
          },
          "matterStored": {
            "type": "integer",
            "format": "int32"
          },
          "lastCompostToClaim": {
            "type": "integer",
            "format": "int32"
          },
          "speedPercentIncrease": {
            "type": "integer",
            "format": "int32"
          },
          "multiDropChance": {
            "type": "integer",
            "format": "int32"
          },
          "fuelCap": {
            "type": "integer",
            "format": "int32"
          },
          "matterCap": {
            "type": "integer",
            "format": "int32"
          },
          "costReductionPercent": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "CopperFlip": {
        "required": [
          "analyzeCost",
          "buyPrice",
          "copperPerCoin",
          "copperYield",
          "timestamp",
          "totalCost",
          "volume"
        ],
        "type": "object",
        "properties": {
          "itemTag": {
            "type": "string",
            "nullable": true
          },
          "buyPrice": {
            "type": "number",
            "format": "double"
          },
          "analyzeCost": {
            "type": "integer",
            "format": "int64"
          },
          "copperYield": {
            "type": "integer",
            "format": "int32"
          },
          "totalCost": {
            "type": "number",
            "format": "double"
          },
          "copperPerCoin": {
            "type": "number",
            "format": "double"
          },
          "timestamp": {
            "type": "string",
            "format": "date-time"
          },
          "volume": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "Cost": {
        "required": [
          "amount",
          "price"
        ],
        "type": "object",
        "properties": {
          "itemName": {
            "type": "string",
            "nullable": true
          },
          "price": {
            "type": "number",
            "format": "double"
          },
          "amount": {
            "type": "integer",
            "format": "int32"
          },
          "itemTag": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CraftInstruction": {
        "type": "object",
        "properties": {
          "itemTag": {
            "type": "string",
            "description": "Tag of the item the instructions were requested for",
            "nullable": true
          },
          "recipe": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "description": "Flat top level 3x3 recipe grid, unchanged for backwards compatibility with the website",
            "nullable": true
          },
          "copyCommands": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "description": "Copy command for every ingredient tag found anywhere in the craft tree",
            "nullable": true
          },
          "detailsPath": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "description": "Details page path for every ingredient tag found anywhere in the craft tree",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Copy commands/details paths for the whole craft tree (top level ingredients plus all sub crafts)."
      },
      "CraftPrice": {
        "required": [
          "attribute",
          "count",
          "formattedReson",
          "itemTag",
          "price"
        ],
        "type": "object",
        "properties": {
          "price": {
            "type": "integer",
            "description": "Stores the price.",
            "format": "int64"
          },
          "itemTag": {
            "type": "string",
            "description": "Stores the item tag.",
            "nullable": true
          },
          "attribute": {
            "type": "string",
            "description": "Stores the attribute.",
            "nullable": true
          },
          "formattedReson": {
            "type": "string",
            "description": "Stores the formatted reason.",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "description": "Stores the count.",
            "format": "int64"
          }
        },
        "additionalProperties": false,
        "description": "Represents a craft price."
      },
      "Currencies": {
        "required": [
          "coin_purse",
          "motes_purse"
        ],
        "type": "object",
        "properties": {
          "coin_purse": {
            "type": "number",
            "description": "Gets or sets the coin purse.",
            "format": "double"
          },
          "motes_purse": {
            "type": "number",
            "description": "Gets or sets the motes purse.",
            "format": "double"
          },
          "essence": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/EssenceAmount"
            },
            "description": "Gets or sets the essence.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents currency balances."
      },
      "CurrentPrice": {
        "required": [
          "available",
          "buy",
          "isAh",
          "sell",
          "updatedAt"
        ],
        "type": "object",
        "properties": {
          "sell": {
            "type": "number",
            "format": "double"
          },
          "buy": {
            "type": "number",
            "format": "double"
          },
          "available": {
            "type": "integer",
            "format": "int32"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "isAh": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "DemandFlip": {
        "required": [
          "buyPrice",
          "capacity",
          "currentProfitPerHour",
          "medianValue",
          "rankScore",
          "sellPrice",
          "suggestedOrderVolume",
          "targetHoldTimeMinutes",
          "timestamp",
          "totalProfit",
          "volume"
        ],
        "type": "object",
        "properties": {
          "itemTag": {
            "type": "string",
            "nullable": true
          },
          "currentProfitPerHour": {
            "type": "number",
            "format": "double"
          },
          "timestamp": {
            "type": "string",
            "format": "date-time"
          },
          "volume": {
            "type": "integer",
            "format": "int64"
          },
          "suggestedOrderVolume": {
            "type": "integer",
            "format": "int64"
          },
          "buyPrice": {
            "type": "number",
            "format": "double"
          },
          "sellPrice": {
            "type": "number",
            "format": "double"
          },
          "medianValue": {
            "type": "number",
            "format": "double"
          },
          "estimatedSellTimeMinutes": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "targetHoldTimeMinutes": {
            "type": "number",
            "format": "double"
          },
          "totalProfit": {
            "type": "number",
            "format": "double"
          },
          "rankScore": {
            "type": "number",
            "format": "double"
          },
          "capacity": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "DemandSpreadFlip": {
        "type": "object",
        "properties": {
          "flip": {
            "$ref": "#/components/schemas/DemandFlip"
          },
          "itemName": {
            "type": "string",
            "description": "Gets or sets the item name.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a demand spread flip."
      },
      "DescModification": {
        "required": [
          "line",
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/ModType"
          },
          "line": {
            "type": "integer",
            "description": "Extra field containing index to insert (int), or value to replace (string)",
            "format": "int32"
          },
          "value": {
            "type": "string",
            "description": "New value to add,insert, or replace something with",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Response object instructing minecraft mods how to modify the description"
      },
      "DescriptionField": {
        "enum": [
          "NONE",
          "LBIN",
          "LBIN_KEY",
          "MEDIAN",
          "MEDIAN_KEY",
          "VOLUME",
          "TAG",
          "CRAFT_COST",
          "BazaarBuy",
          "BazaarSell",
          "PRICE_PAID",
          "ITEM_KEY",
          "EnchantCost",
          "GemValue",
          "SpentOnAhFees",
          "KatUpgradeCost",
          "InstaSellPrice",
          "ModifierCost",
          "FullCraftCost",
          "ModifierCostList",
          "FinderEstimates",
          "Volatility",
          "LastSoldFor",
          "TimeToSell",
          "NpcSellPrice",
          "ColorCode",
          "DefaultLore",
          "AiEstimate",
          "BAZAAR_COST"
        ],
        "type": "string"
      },
      "DescriptionSetting": {
        "required": [
          "bazaarBookmarks",
          "buyOrderPrices",
          "customFormat",
          "disableAuctionStartedTime",
          "disabled",
          "disableHighlighting",
          "disableInfoIn",
          "disableSuggestions",
          "fields",
          "highlightFilterMatch",
          "lowballHideBreakdown",
          "lowballHideWorstCase",
          "lowballLbinUndercut",
          "lowballMedUndercut",
          "lowballNonExactExtraPct",
          "lowballWorstCaseExtraPct",
          "minProfitForHighlight",
          "noCookie",
          "preferLbinInSuggestions",
          "replaceAquaWith",
          "replaceGoldWith",
          "replaceGrayWith",
          "replaceWhiteWith",
          "replaceYellowWith",
          "suggestQuicksell"
        ],
        "type": "object",
        "properties": {
          "fields": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/DescriptionField"
              }
            },
            "nullable": true
          },
          "highlightFilterMatch": {
            "type": "boolean"
          },
          "minProfitForHighlight": {
            "type": "integer",
            "format": "int64"
          },
          "disableHighlighting": {
            "type": "boolean"
          },
          "disableSuggestions": {
            "type": "boolean"
          },
          "disableInfoIn": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "bazaarBookmarks": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "disabled": {
            "type": "boolean"
          },
          "lowballMedUndercut": {
            "type": "integer",
            "format": "int32"
          },
          "lowballLbinUndercut": {
            "type": "integer",
            "format": "int32"
          },
          "preferLbinInSuggestions": {
            "type": "boolean"
          },
          "suggestQuicksell": {
            "type": "boolean"
          },
          "replaceGrayWith": {
            "type": "string",
            "nullable": true
          },
          "replaceAquaWith": {
            "type": "string",
            "nullable": true
          },
          "replaceYellowWith": {
            "type": "string",
            "nullable": true
          },
          "replaceGoldWith": {
            "type": "string",
            "nullable": true
          },
          "replaceWhiteWith": {
            "type": "string",
            "nullable": true
          },
          "noCookie": {
            "type": "boolean"
          },
          "buyOrderPrices": {
            "type": "boolean"
          },
          "disableAuctionStartedTime": {
            "type": "boolean"
          },
          "lowballNonExactExtraPct": {
            "type": "integer",
            "format": "int32"
          },
          "lowballWorstCaseExtraPct": {
            "type": "integer",
            "format": "int32"
          },
          "lowballHideBreakdown": {
            "type": "boolean"
          },
          "lowballHideWorstCase": {
            "type": "boolean"
          },
          "customFormat": {
            "type": "string",
            "nullable": true
          },
          "highlightInfo": {
            "$ref": "#/components/schemas/HighlightInfo"
          }
        },
        "additionalProperties": false
      },
      "DiscordMessage": {
        "required": [
          "authorId",
          "channelId",
          "createdAt",
          "messageId",
          "month",
          "updateAt"
        ],
        "type": "object",
        "properties": {
          "channelId": {
            "type": "integer",
            "format": "int64"
          },
          "messageId": {
            "type": "integer",
            "format": "int64"
          },
          "content": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "month": {
            "type": "integer",
            "format": "int32"
          },
          "attachments": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true
          },
          "authorName": {
            "type": "string",
            "nullable": true
          },
          "authorId": {
            "type": "integer",
            "format": "int64"
          },
          "updateAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "DropStatistic": {
        "required": [
          "lastUpdated",
          "monthly",
          "now",
          "recent",
          "volume"
        ],
        "type": "object",
        "properties": {
          "monthly": {
            "type": "number",
            "format": "double"
          },
          "recent": {
            "type": "number",
            "format": "double"
          },
          "tag": {
            "type": "string",
            "nullable": true
          },
          "volume": {
            "type": "number",
            "format": "double"
          },
          "lastUpdated": {
            "type": "string",
            "format": "date-time"
          },
          "now": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "Enchantment": {
        "required": [
          "level",
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/EnchantmentType"
          },
          "level": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "EnchantmentType": {
        "enum": [
          "unknown",
          "cleave",
          "critical",
          "cubism",
          "ender_slayer",
          "execute",
          "experience",
          "first_strike",
          "giant_killer",
          "impaling",
          "lethality",
          "life_steal",
          "luck",
          "scavenger",
          "thunderlord",
          "telekinesis",
          "vampirism",
          "venomous",
          "growth",
          "aiming",
          "dragon_hunter",
          "infinite_quiver",
          "piercing",
          "snipe",
          "harvesting",
          "rainbow",
          "smelting_touch",
          "angler",
          "blessing",
          "caster",
          "frail",
          "magnet",
          "spiked_hook",
          "bane_of_arthropods",
          "fire_aspect",
          "looting",
          "knockback",
          "sharpness",
          "smite",
          "aqua_affinity",
          "blast_protection",
          "depth_strider",
          "feather_falling",
          "fire_protection",
          "frost_walker",
          "projectile_protection",
          "protection",
          "respiration",
          "thorns",
          "flame",
          "power",
          "punch",
          "efficiency",
          "fortune",
          "silk_touch",
          "lure",
          "luck_of_the_sea",
          "true_protection",
          "sugar_rush",
          "replenish",
          "rejuvenate",
          "ultimate_bank",
          "ultimate_combo",
          "ultimate_jerry",
          "ultimate_last_stand",
          "ultimate_no_pain_no_gain",
          "ultimate_wisdom",
          "ultimate_wise",
          "expertise",
          "ultimate_chimera",
          "ultimate_rend",
          "overload",
          "ultimate_legion",
          "ultimate_swarm",
          "big_brain",
          "compact",
          "vicious",
          "counter_strike",
          "turbo_carrot",
          "turbo_cactus",
          "turbo_cane",
          "turbo_coco",
          "turbo_melon",
          "turbo_mushrooms",
          "turbo_pumpkin",
          "turbo_potato",
          "turbo_warts",
          "turbo_wheat",
          "chance",
          "prosecute",
          "syphon",
          "respite",
          "thunderbolt",
          "titan_killer",
          "triple_strike",
          "ultimate_soul_eater",
          "ultimate_one_for_all",
          "None",
          "cultivating",
          "delicate",
          "mana_steal",
          "smarty_pants",
          "prismatic",
          "ultimate_fatal_tempo",
          "ultimate_inferno",
          "charm",
          "corruption",
          "ferocious_mana",
          "strong_mana",
          "hardened_mana",
          "mana_vampire",
          "smoldering",
          "ultimate_duplex",
          "ultimate_flash",
          "hecatomb",
          "champion",
          "ultimate_habanero_tactics",
          "cayenne",
          "divine_gift",
          "piscary",
          "ultimate_bobbin_time",
          "tabasco",
          "prosperity",
          "sunder",
          "dedication",
          "Any",
          "green_thumb",
          "transylvanian",
          "reflection",
          "ultimate_the_one",
          "quantum",
          "pesterminator",
          "great_spook",
          "ultimate_refrigerate",
          "paleontologist",
          "ice_cold",
          "toxophilite",
          "ultimate_flowstate",
          "lapidary",
          "small_brain",
          "tidal",
          "quick_bite",
          "absorb",
          "arcane",
          "drainRenamed",
          "ultimate_first_impression",
          "forest_pledge",
          "ultimate_missile",
          "raspiration",
          "scuba",
          "stealth",
          "ultimate_crop_fever",
          "turbo_sunflower",
          "turbo_moonflower",
          "turbo_rose",
          "ultimate_sunset",
          "bug_blender",
          "feast",
          "magmarizer",
          "petalfall",
          "karma"
        ],
        "type": "string"
      },
      "ErrorResponse": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "trace": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "EssenceAmount": {
        "required": [
          "current"
        ],
        "type": "object",
        "properties": {
          "current": {
            "type": "integer",
            "description": "Gets or sets the current.",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Represents an essence amount."
      },
      "ExportFlags": {
        "enum": [
          "None",
          "IncludeSocial",
          "InventoryCheck",
          "UniqueItems"
        ],
        "type": "string"
      },
      "ExportRequest": {
        "required": [
          "requestedAt"
        ],
        "type": "object",
        "properties": {
          "flags": {
            "$ref": "#/components/schemas/ExportFlags"
          },
          "status": {
            "$ref": "#/components/schemas/ExportStatus"
          },
          "byEmail": {
            "type": "string",
            "nullable": true
          },
          "discordWebhookUrl": {
            "type": "string",
            "nullable": true
          },
          "requestedAt": {
            "type": "string",
            "format": "date-time"
          },
          "itemTag": {
            "type": "string",
            "nullable": true
          },
          "filters": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true
          },
          "columns": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "s3Url": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ExportRequestCreate": {
        "required": [
          "flags"
        ],
        "type": "object",
        "properties": {
          "flags": {
            "$ref": "#/components/schemas/ExportFlags"
          },
          "filters": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "description": "Gets or sets the filters.",
            "nullable": true
          },
          "discordWebhookUrl": {
            "type": "string",
            "description": "Gets or sets the discord webhook url.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents an export request create."
      },
      "ExportStatus": {
        "enum": [
          "Pending",
          "InProgress",
          "Done",
          "Failed",
          "Cancelled"
        ],
        "type": "string"
      },
      "ExtractedInfo": {
        "required": [
          "agathaLevel",
          "bits",
          "boosterCookieExpires",
          "claimedAt",
          "currentTaskSince",
          "kuudraStart",
          "lastLocationChange",
          "mithrilPowder",
          "purse"
        ],
        "type": "object",
        "properties": {
          "currentServer": {
            "type": "string",
            "nullable": true
          },
          "currentLocation": {
            "type": "string",
            "nullable": true
          },
          "lastLocationChange": {
            "type": "string",
            "format": "date-time"
          },
          "heartOfTheMountain": {
            "$ref": "#/components/schemas/HeartOfThe"
          },
          "heartOfTheForest": {
            "$ref": "#/components/schemas/HeartOfThe"
          },
          "agathaLevel": {
            "type": "integer",
            "format": "int32"
          },
          "shardCounts": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "attributeLevel": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "composter": {
            "$ref": "#/components/schemas/Composter"
          },
          "activePet": {
            "$ref": "#/components/schemas/ActivePet"
          },
          "pets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PetState"
            },
            "nullable": true
          },
          "weaponInHuntaxe": {
            "$ref": "#/components/schemas/Item"
          },
          "huntingToolkitItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Item"
            },
            "nullable": true
          },
          "playerElectionVote": {
            "$ref": "#/components/schemas/PlayerElectionVote"
          },
          "mithrilPowder": {
            "type": "integer",
            "format": "int32"
          },
          "currentTask": {
            "type": "string",
            "nullable": true
          },
          "currentTaskSince": {
            "type": "string",
            "format": "date-time"
          },
          "claimedTask": {
            "type": "string",
            "nullable": true
          },
          "claimedAt": {
            "type": "string",
            "format": "date-time"
          },
          "currentSession": {
            "$ref": "#/components/schemas/TaskSession"
          },
          "purse": {
            "type": "integer",
            "format": "int64"
          },
          "bits": {
            "type": "integer",
            "format": "int64"
          },
          "boosterCookieExpires": {
            "type": "string",
            "format": "date-time"
          },
          "kuudraStart": {
            "type": "string",
            "format": "date-time"
          },
          "katStatus": {
            "$ref": "#/components/schemas/KatStatus"
          },
          "forgeItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ForgeItem"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Fill": {
        "required": [
          "amount",
          "timeStamp"
        ],
        "type": "object",
        "properties": {
          "playerName": {
            "type": "string",
            "nullable": true
          },
          "amount": {
            "type": "integer",
            "format": "int64"
          },
          "timeStamp": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "FilterOptions": {
        "required": [
          "description",
          "longType",
          "name",
          "options",
          "type"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "options": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "type": {
            "$ref": "#/components/schemas/FilterType"
          },
          "longType": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FilterQuery": {
        "type": "object",
        "properties": {
          "filters": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "nullable": true
          },
          "auction": {
            "$ref": "#/components/schemas/ApiSaveAuction"
          }
        },
        "additionalProperties": false
      },
      "FilterType": {
        "enum": [
          1,
          2,
          4,
          8,
          16,
          32,
          64,
          128,
          256,
          512,
          1024
        ],
        "type": "integer",
        "format": "int32"
      },
      "FinderType": {
        "enum": [
          0,
          1,
          2,
          4,
          5,
          6,
          7,
          8,
          16,
          32,
          64,
          128,
          239,
          256,
          512,
          1024,
          2048,
          4096
        ],
        "type": "integer",
        "format": "int32"
      },
      "FlipDetails": {
        "required": [
          "buyTime",
          "finder",
          "flags",
          "itemName",
          "itemTag",
          "originAuction",
          "pricePaid",
          "profit",
          "propertyChanges",
          "sellTime",
          "soldAuction",
          "soldFor",
          "tier",
          "uId"
        ],
        "type": "object",
        "properties": {
          "itemName": {
            "type": "string",
            "nullable": true
          },
          "itemTag": {
            "type": "string",
            "nullable": true
          },
          "tier": {
            "type": "string",
            "nullable": true
          },
          "pricePaid": {
            "type": "integer",
            "format": "int64"
          },
          "soldFor": {
            "type": "integer",
            "format": "int64"
          },
          "finder": {
            "$ref": "#/components/schemas/FinderType"
          },
          "uId": {
            "type": "integer",
            "format": "int64"
          },
          "originAuction": {
            "type": "string",
            "nullable": true
          },
          "soldAuction": {
            "type": "string",
            "nullable": true
          },
          "buyTime": {
            "type": "string",
            "format": "date-time"
          },
          "sellTime": {
            "type": "string",
            "format": "date-time"
          },
          "profit": {
            "type": "integer",
            "format": "int64"
          },
          "propertyChanges": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PropertyChange"
            },
            "nullable": true
          },
          "flags": {
            "$ref": "#/components/schemas/FlipFlags"
          }
        },
        "additionalProperties": false
      },
      "FlipFlags": {
        "enum": [
          "None",
          "DifferentBuyer",
          "ViaTrade",
          "MultiItemTrade",
          "UnknownCost",
          "UncertainCost"
        ],
        "type": "string"
      },
      "FlipSettings": {
        "required": [
          "basedConfig",
          "blacklist",
          "blockExport",
          "blockHighCompetition",
          "changer",
          "fastMode",
          "filters",
          "finders",
          "lastChange",
          "lbin",
          "loadedVersion",
          "maxCost",
          "minProfit",
          "minProfitPercent",
          "minVolume",
          "mod",
          "onlyBin",
          "publishedAs",
          "visibility",
          "whitelist",
          "whitelistAftermain"
        ],
        "type": "object",
        "properties": {
          "filters": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "nullable": true
          },
          "blacklist": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ListEntry"
            },
            "nullable": true
          },
          "whitelist": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ListEntry"
            },
            "nullable": true
          },
          "lbin": {
            "type": "boolean"
          },
          "visibility": {
            "$ref": "#/components/schemas/VisibilitySettings"
          },
          "mod": {
            "$ref": "#/components/schemas/ModSettings"
          },
          "finders": {
            "$ref": "#/components/schemas/FinderType"
          },
          "fastMode": {
            "type": "boolean"
          },
          "publishedAs": {
            "type": "string",
            "nullable": true
          },
          "loadedVersion": {
            "type": "integer",
            "format": "int32"
          },
          "changer": {
            "type": "string",
            "nullable": true
          },
          "onlyBin": {
            "type": "boolean"
          },
          "whitelistAftermain": {
            "type": "boolean"
          },
          "basedConfig": {
            "type": "string",
            "nullable": true
          },
          "blockExport": {
            "type": "boolean"
          },
          "blockHighCompetition": {
            "type": "boolean"
          },
          "minProfit": {
            "type": "integer",
            "format": "int64"
          },
          "minProfitPercent": {
            "type": "integer",
            "format": "int32"
          },
          "minVolume": {
            "type": "number",
            "format": "double"
          },
          "maxCost": {
            "type": "integer",
            "format": "int64"
          },
          "lastChange": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FlipSumary": {
        "required": [
          "flips",
          "totalProfit"
        ],
        "type": "object",
        "properties": {
          "flips": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FlipDetails"
            },
            "nullable": true
          },
          "totalProfit": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "ForgeFlip": {
        "required": [
          "duration",
          "profitPerHour",
          "requiredHotMLevel"
        ],
        "type": "object",
        "properties": {
          "craftData": {
            "$ref": "#/components/schemas/ProfitableCraft"
          },
          "duration": {
            "type": "integer",
            "format": "int32"
          },
          "requiredHotMLevel": {
            "type": "integer",
            "format": "int32"
          },
          "profitPerHour": {
            "type": "number",
            "format": "double"
          },
          "requirements": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ForgeItem": {
        "required": [
          "forgeEnd"
        ],
        "type": "object",
        "properties": {
          "itemName": {
            "type": "string",
            "nullable": true
          },
          "forgeEnd": {
            "type": "string",
            "format": "date-time"
          },
          "tag": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FuseFlip": {
        "required": [
          "depth",
          "inputCost",
          "inputVolume",
          "outputCount",
          "outputValue",
          "volume"
        ],
        "type": "object",
        "properties": {
          "inputs": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "inputCost": {
            "type": "number",
            "format": "double"
          },
          "volume": {
            "type": "number",
            "format": "double"
          },
          "inputVolume": {
            "type": "number",
            "format": "double"
          },
          "outputValue": {
            "type": "number",
            "format": "double"
          },
          "output": {
            "type": "string",
            "nullable": true
          },
          "outputCount": {
            "type": "integer",
            "format": "int32"
          },
          "steps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FusionStep"
            },
            "nullable": true
          },
          "depth": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "FusionStep": {
        "required": [
          "outputCount"
        ],
        "type": "object",
        "properties": {
          "inputs": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "output": {
            "type": "string",
            "nullable": true
          },
          "outputCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "GooglePlayPurchaseRequest": {
        "required": [
          "packageName",
          "productId",
          "purchaseToken",
          "userId"
        ],
        "type": "object",
        "properties": {
          "productId": {
            "type": "string",
            "nullable": true
          },
          "purchaseToken": {
            "type": "string",
            "nullable": true
          },
          "packageName": {
            "type": "string",
            "nullable": true
          },
          "userId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GraphResult": {
        "required": [
          "buy",
          "buyMovingWeek",
          "buyVolume",
          "maxBuy",
          "maxSell",
          "minBuy",
          "minSell",
          "sell",
          "sellMovingWeek",
          "sellVolume",
          "timestamp"
        ],
        "type": "object",
        "properties": {
          "maxBuy": {
            "type": "number",
            "format": "float"
          },
          "maxSell": {
            "type": "number",
            "format": "float"
          },
          "minBuy": {
            "type": "number",
            "format": "float"
          },
          "minSell": {
            "type": "number",
            "format": "float"
          },
          "buy": {
            "type": "number",
            "format": "double"
          },
          "sell": {
            "type": "number",
            "format": "double"
          },
          "sellVolume": {
            "type": "integer",
            "format": "int64"
          },
          "buyVolume": {
            "type": "integer",
            "format": "int64"
          },
          "timestamp": {
            "type": "string",
            "format": "date-time"
          },
          "buyMovingWeek": {
            "type": "integer",
            "format": "int64"
          },
          "sellMovingWeek": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "HeartOfThe": {
        "required": [
          "tier"
        ],
        "type": "object",
        "properties": {
          "tier": {
            "type": "integer",
            "format": "int32"
          },
          "perks": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "HighlightInfo": {
        "required": [
          "slotId"
        ],
        "type": "object",
        "properties": {
          "position": {
            "$ref": "#/components/schemas/BlockPos"
          },
          "hexColor": {
            "type": "string",
            "nullable": true
          },
          "slotId": {
            "type": "integer",
            "format": "int32"
          },
          "chestname": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "HourlyStat": {
        "required": [
          "avgPrice",
          "avgSellTimeSeconds",
          "count",
          "hour"
        ],
        "type": "object",
        "properties": {
          "hour": {
            "type": "integer",
            "format": "int32"
          },
          "count": {
            "type": "integer",
            "format": "int32"
          },
          "avgPrice": {
            "type": "number",
            "format": "double"
          },
          "avgSellTimeSeconds": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "Ingredient": {
        "required": [
          "buyOrderCapacity",
          "buyOrderCost",
          "buyOrderUnitPrice",
          "cost",
          "count",
          "craftCost",
          "instaBuyCapacity",
          "instaBuyUnitPrice",
          "npcCapacity",
          "npcUnitPrice"
        ],
        "type": "object",
        "properties": {
          "itemId": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int64"
          },
          "cost": {
            "type": "number",
            "format": "double"
          },
          "buyOrderCost": {
            "type": "number",
            "format": "double"
          },
          "craftCost": {
            "type": "number",
            "format": "double"
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "npcCapacity": {
            "type": "integer",
            "format": "int64"
          },
          "npcUnitPrice": {
            "type": "number",
            "format": "double"
          },
          "buyOrderCapacity": {
            "type": "integer",
            "format": "int64"
          },
          "buyOrderUnitPrice": {
            "type": "number",
            "format": "double"
          },
          "instaBuyCapacity": {
            "type": "integer",
            "format": "int64"
          },
          "instaBuyUnitPrice": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "Int32Int64ValueTuple": {
        "required": [
          "item1",
          "item2"
        ],
        "type": "object",
        "properties": {
          "item1": {
            "type": "integer",
            "format": "int32"
          },
          "item2": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "Inventory": {
        "required": [
          "wardrobe_equipped_slot"
        ],
        "type": "object",
        "properties": {
          "inv_contents": {
            "$ref": "#/components/schemas/InventoryElem"
          },
          "inv_armor": {
            "$ref": "#/components/schemas/InventoryElem"
          },
          "ender_chest_contents": {
            "$ref": "#/components/schemas/InventoryElem"
          },
          "ender_chest_page_icons": {
            "type": "array",
            "items": { },
            "description": "Gets or sets the ender chest page icons.",
            "nullable": true
          },
          "equipment_contents": {
            "$ref": "#/components/schemas/InventoryElem"
          },
          "bag_contents": {
            "$ref": "#/components/schemas/BagContents"
          },
          "personal_vault_contents": {
            "$ref": "#/components/schemas/InventoryElem"
          },
          "wardrobe_equipped_slot": {
            "type": "integer",
            "description": "Gets or sets the wardrobe equipped slot.",
            "format": "int32"
          },
          "sacks_counts": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Gets or sets the sacks counts.",
            "nullable": true
          },
          "wardrobe_contents": {
            "$ref": "#/components/schemas/InventoryElem"
          },
          "backpack_icons": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/InventoryElem"
            },
            "description": "The backpack elements",
            "nullable": true
          },
          "backpack_contents": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/InventoryElem"
            },
            "description": "Gets or sets the backpack contents.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents an inventory."
      },
      "InventoryBatchLookup": {
        "required": [
          "playerId",
          "profileId",
          "uuids"
        ],
        "type": "object",
        "properties": {
          "profileId": {
            "type": "string",
            "description": "Stores the profile id.",
            "nullable": true
          },
          "playerId": {
            "type": "string",
            "description": "Stores the player id.",
            "nullable": true
          },
          "uuids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Stores the uuids.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents an inventory batch lookup."
      },
      "InventoryData": {
        "required": [
          "chestName",
          "fullInventoryNbt",
          "jsonNbt",
          "position",
          "senderContactId",
          "server"
        ],
        "type": "object",
        "properties": {
          "chestName": {
            "type": "string",
            "description": "The name of the chest",
            "nullable": true
          },
          "fullInventoryNbt": {
            "type": "string",
            "description": "Base64, gziped nbtdata of the inventory",
            "nullable": true
          },
          "position": {
            "$ref": "#/components/schemas/BlockPos"
          },
          "jsonNbt": {
            "enum": [
              null
            ],
            "description": "Nbt formatted as json like mineflayer does it",
            "nullable": true
          },
          "senderContactId": {
            "type": "string",
            "description": "Id of the sender to identify and or contact",
            "nullable": true
          },
          "server": {
            "type": "string",
            "description": "Optional server context for non-Hypixel integrations.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Representation of an inventory"
      },
      "InventoryDataWithSettings": {
        "required": [
          "chestName",
          "fullInventoryNbt",
          "jsonNbt",
          "position",
          "senderContactId",
          "server",
          "version"
        ],
        "type": "object",
        "properties": {
          "chestName": {
            "type": "string",
            "description": "The name of the chest",
            "nullable": true
          },
          "fullInventoryNbt": {
            "type": "string",
            "description": "Base64, gziped nbtdata of the inventory",
            "nullable": true
          },
          "position": {
            "$ref": "#/components/schemas/BlockPos"
          },
          "jsonNbt": {
            "enum": [
              null
            ],
            "description": "Nbt formatted as json like mineflayer does it",
            "nullable": true
          },
          "senderContactId": {
            "type": "string",
            "description": "Id of the sender to identify and or contact",
            "nullable": true
          },
          "server": {
            "type": "string",
            "description": "Optional server context for non-Hypixel integrations.",
            "nullable": true
          },
          "settings": {
            "$ref": "#/components/schemas/DescriptionSetting"
          },
          "version": {
            "type": "integer",
            "description": "Incremental version of the client library to know supported features",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Representation of an inventory with settings"
      },
      "InventoryElem": {
        "required": [
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "integer",
            "description": "Gets or sets the type.",
            "format": "int32"
          },
          "data": {
            "type": "string",
            "description": "Gets or sets the data.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents an inventory elem."
      },
      "Item": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "itemName": {
            "type": "string",
            "nullable": true
          },
          "tag": {
            "type": "string",
            "nullable": true
          },
          "extraAttributes": {
            "type": "object",
            "additionalProperties": { },
            "nullable": true
          },
          "enchantments": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "color": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ItemCategory": {
        "enum": [
          "UNKNOWN",
          "PET_ITEM",
          "SWORD",
          "CHESTPLATE",
          "HELMET",
          "REFORGE_STONE",
          "COSMETIC",
          "AXE",
          "LEGGINGS",
          "ACCESSORY",
          "BOW",
          "TRAVEL_SCROLL",
          "BOOTS",
          "HOE",
          "BAIT",
          "FISHING_ROD",
          "DUNGEON_PASS",
          "ARROW",
          "SPADE",
          "SHEARS",
          "PICKAXE",
          "ARROW_POISON",
          "WAND",
          "DRILL",
          "FISHING_WEAPON",
          "GAUNTLET",
          "FURNITURE",
          "GENERATOR",
          "MINION_SKIN",
          "PRIVATE_ISLAND",
          "ISLAND_CRYSTAL",
          "FRAGMENT",
          "SLAYER",
          "DUNGEON",
          "DUNGEON_ITEM",
          "SACK",
          "PORTAL",
          "DEEP_CAVERNS",
          "BACKPACK",
          "TALISMAN_ENRICHMENT",
          "THE_FISH",
          "PET",
          "PET_SKIN",
          "RUNE",
          "ArmorDye",
          "Vanilla",
          "NullNamed",
          "CLOAK",
          "NECKLACE",
          "BELT",
          "GLOVES",
          "BRACELET",
          "InfernoMinionFuel",
          "MEMENTO",
          "ABIPHONE",
          "Fossil",
          "FISHING_ROD_PART",
          "VACUUM",
          "CHISEL",
          "FISHING_NET",
          "LASSO",
          "TRAP",
          "DEPLOYABLE",
          "LONGSWORD",
          "BOOSTER",
          "CARNIVAL_MASK",
          "SALT",
          "WATERING_CAN",
          "MUTATION",
          "FARMING_TOOL",
          "GARDEN_CHIP",
          "CONSUMABLE"
        ],
        "type": "string"
      },
      "ItemFlags": {
        "enum": [
          "NONE",
          "BAZAAR",
          "TRADEABLE",
          "AUCTION",
          "CRAFT",
          "GLOWING",
          "MUSEUM",
          "FIRESALE"
        ],
        "type": "string"
      },
      "ItemMetadataElement": {
        "required": [
          "flags"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the element",
            "nullable": true
          },
          "tag": {
            "type": "string",
            "description": "The hypixel tag of the item",
            "nullable": true
          },
          "flags": {
            "$ref": "#/components/schemas/ItemFlags"
          }
        },
        "additionalProperties": false,
        "description": "Item Metadata"
      },
      "ItemPreview": {
        "type": "object",
        "properties": {
          "tag": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ItemRepresent": {
        "required": [
          "count"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "itemName": {
            "type": "string",
            "nullable": true
          },
          "tag": {
            "type": "string",
            "nullable": true
          },
          "extraAttributes": {
            "type": "object",
            "additionalProperties": { },
            "nullable": true
          },
          "enchantments": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "color": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Represents an item represent."
      },
      "ItemSell": {
        "required": [
          "buyer",
          "highestBid",
          "itemTag",
          "seller",
          "timestamp",
          "uuid"
        ],
        "type": "object",
        "properties": {
          "seller": {
            "type": "string",
            "description": "The minecraft account uuid that sold the item",
            "nullable": true
          },
          "uuid": {
            "type": "string",
            "description": "The hypixel auction uuid for the item",
            "nullable": true
          },
          "buyer": {
            "type": "string",
            "description": "The minecraft account uuid that bought the item",
            "nullable": true
          },
          "itemTag": {
            "type": "string",
            "description": "Hypixel internal item id, can be used for retrieving image",
            "nullable": true
          },
          "highestBid": {
            "type": "integer",
            "description": "The coin amount of the item that was sold for",
            "format": "int64"
          },
          "timestamp": {
            "type": "string",
            "description": "When was the item sold",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Lookup element for sold items"
      },
      "KatFlip": {
        "required": [
          "materialCost",
          "median",
          "profit",
          "purchaseCost",
          "upgradeCost",
          "volume"
        ],
        "type": "object",
        "properties": {
          "volume": {
            "type": "number",
            "description": "24 hour sell volume",
            "format": "double"
          },
          "median": {
            "type": "integer",
            "description": "Median prie of the item",
            "format": "int64"
          },
          "upgradeCost": {
            "type": "number",
            "description": "The amount of coins the upgrade costs (excluding materials)",
            "format": "double",
            "readOnly": true
          },
          "materialCost": {
            "type": "number",
            "description": "The cost for materials at current bazaar/ah rate",
            "format": "double",
            "readOnly": true
          },
          "originAuction": {
            "type": "string",
            "description": "The auction to flip",
            "nullable": true
          },
          "coreData": {
            "$ref": "#/components/schemas/KatUpgradeCost"
          },
          "targetRarity": {
            "$ref": "#/components/schemas/Tier"
          },
          "profit": {
            "type": "number",
            "description": "The estimated profit the flip will genreate",
            "format": "double",
            "readOnly": true
          },
          "referenceAuction": {
            "type": "string",
            "description": "The reference auction used to estimate the profit (lowest bin of higher rarity)",
            "nullable": true
          },
          "purchaseCost": {
            "type": "integer",
            "description": "How much the starting bid of the auction is",
            "format": "int64",
            "readOnly": true
          },
          "originAuctionName": {
            "type": "string",
            "description": "The full name of the origin auction (cotnaining pet level)",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false,
        "description": "Kat pet rarity upgrade flip"
      },
      "KatStatus": {
        "required": [
          "isKatActive",
          "katEnd"
        ],
        "type": "object",
        "properties": {
          "isKatActive": {
            "type": "boolean"
          },
          "katEnd": {
            "type": "string",
            "format": "date-time"
          },
          "itemName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "KatUpgradeCost": {
        "required": [
          "amount",
          "baseRarity",
          "cost",
          "hours"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the pet",
            "nullable": true
          },
          "baseRarity": {
            "$ref": "#/components/schemas/Tier"
          },
          "hours": {
            "type": "number",
            "description": "Time it takes to upgrade",
            "format": "double"
          },
          "cost": {
            "type": "integer",
            "description": "Base cost of coins it takes to do the upgrade",
            "format": "int32"
          },
          "material": {
            "type": "string",
            "description": "Material (if any) required to upgrade",
            "nullable": true
          },
          "amount": {
            "type": "integer",
            "description": "Amount of Coflnet.Sky.Api.Models.KatUpgradeCost.Material required to do the upgrade",
            "format": "int32"
          },
          "materials": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Gets or sets the materials.",
            "nullable": true
          },
          "itemTag": {
            "type": "string",
            "description": "Coflnet Item tag for the Pet",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false,
        "description": "Information on requirements to upgrade a pet to another rarity"
      },
      "LeaderboardEntry": {
        "required": [
          "score",
          "timeStamp"
        ],
        "type": "object",
        "properties": {
          "playerUuid": {
            "type": "string",
            "description": "Gets or sets the player uuid.",
            "nullable": true
          },
          "playerName": {
            "type": "string",
            "description": "Gets or sets the player name.",
            "nullable": true
          },
          "score": {
            "type": "integer",
            "description": "Gets or sets the score.",
            "format": "int64"
          },
          "timeStamp": {
            "type": "string",
            "description": "Gets or sets the time stamp.",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Represents a leaderboard entry."
      },
      "LegalAgreementDocument": {
        "required": [
          "acceptanceHash",
          "changed",
          "key",
          "sha256",
          "title",
          "url",
          "version"
        ],
        "type": "object",
        "properties": {
          "key": {
            "minLength": 1,
            "type": "string",
            "description": "The document key."
          },
          "title": {
            "minLength": 1,
            "type": "string",
            "description": "The localized title."
          },
          "version": {
            "minLength": 1,
            "type": "string",
            "description": "The document version."
          },
          "url": {
            "minLength": 1,
            "type": "string",
            "description": "The document URL."
          },
          "sha256": {
            "minLength": 1,
            "type": "string",
            "description": "The document SHA-256 hash."
          },
          "acceptanceHash": {
            "minLength": 1,
            "type": "string",
            "description": "The hash used to record acceptance."
          },
          "changed": {
            "type": "boolean",
            "description": "Whether this document caused the agreement package update."
          }
        },
        "additionalProperties": false,
        "description": "Represents a legal agreement document."
      },
      "LegalDeclaration": {
        "required": [
          "locale",
          "text",
          "version"
        ],
        "type": "object",
        "properties": {
          "version": {
            "minLength": 1,
            "type": "string",
            "description": "The declaration version."
          },
          "locale": {
            "minLength": 1,
            "type": "string",
            "description": "The declaration locale."
          },
          "text": {
            "minLength": 1,
            "type": "string",
            "description": "The declaration text."
          }
        },
        "additionalProperties": false,
        "description": "Represents a legal declaration."
      },
      "ListEntry": {
        "required": [
          "disabled",
          "displayName",
          "filter",
          "group",
          "order",
          "tag",
          "tags"
        ],
        "type": "object",
        "properties": {
          "tag": {
            "type": "string",
            "nullable": true
          },
          "displayName": {
            "type": "string",
            "nullable": true
          },
          "filter": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "nullable": true
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "order": {
            "type": "integer",
            "format": "int32"
          },
          "group": {
            "type": "string",
            "nullable": true
          },
          "disabled": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "Listener": {
        "required": [
          "id",
          "price",
          "type",
          "userId"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Gets or sets the id.",
            "format": "int32"
          },
          "topicId": {
            "maxLength": 45,
            "type": "string",
            "description": "Either User,auction or ItemId UserIds are +100.000",
            "nullable": true
          },
          "price": {
            "type": "integer",
            "description": "Price point in case of item",
            "format": "int64"
          },
          "type": {
            "$ref": "#/components/schemas/SubType"
          },
          "userId": {
            "type": "integer",
            "description": "Gets or sets the user id.",
            "format": "int32"
          },
          "filter": {
            "maxLength": 5000,
            "type": "string",
            "description": "Additional filter to apply before sending the notification",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a listener."
      },
      "LiveMarketAnalysisResult": {
        "required": [
          "aboveRangeCount",
          "auctionCount",
          "avgTimeOnMarketSeconds",
          "binCount",
          "bucketRangeMax",
          "highestBin",
          "lowestBin",
          "medianBin",
          "medianTimeOnMarketSeconds",
          "sellerCount"
        ],
        "type": "object",
        "properties": {
          "binCount": {
            "type": "integer",
            "format": "int32"
          },
          "auctionCount": {
            "type": "integer",
            "format": "int32"
          },
          "sellerCount": {
            "type": "integer",
            "format": "int32"
          },
          "lowestBin": {
            "type": "integer",
            "format": "int64"
          },
          "medianBin": {
            "type": "integer",
            "format": "int64"
          },
          "highestBin": {
            "type": "integer",
            "format": "int64"
          },
          "avgTimeOnMarketSeconds": {
            "type": "number",
            "format": "double"
          },
          "medianTimeOnMarketSeconds": {
            "type": "number",
            "format": "double"
          },
          "bucketRangeMax": {
            "type": "integer",
            "format": "int64"
          },
          "aboveRangeCount": {
            "type": "integer",
            "format": "int32"
          },
          "priceBuckets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VolumeBucket"
            },
            "nullable": true
          },
          "timeOnMarketBuckets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SellSpeedBucket"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "LowballOfferResponse": {
        "required": [
          "askingPrice",
          "createdAt",
          "itemCount",
          "minecraftAccount",
          "offerId"
        ],
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "description": "Gets or sets the user id.",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "description": "Gets or sets the created at.",
            "format": "date-time"
          },
          "offerId": {
            "type": "string",
            "description": "Gets or sets the offer id.",
            "format": "uuid"
          },
          "itemTag": {
            "type": "string",
            "description": "Gets or sets the item tag.",
            "nullable": true
          },
          "minecraftAccount": {
            "type": "string",
            "description": "Gets or sets the minecraft account.",
            "format": "uuid"
          },
          "itemName": {
            "type": "string",
            "description": "Gets or sets the item name.",
            "nullable": true
          },
          "apiAuctionJson": {
            "type": "string",
            "description": "Gets or sets the api auction json.",
            "nullable": true
          },
          "filters": {
            "type": "string",
            "description": "Gets or sets the filters.",
            "nullable": true
          },
          "askingPrice": {
            "type": "integer",
            "description": "Gets or sets the asking price.",
            "format": "int64"
          },
          "lore": {
            "type": "string",
            "description": "Gets or sets the lore.",
            "nullable": true
          },
          "itemCount": {
            "type": "integer",
            "description": "Gets or sets the item count.",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Represents a lowball offer response."
      },
      "MayorDiffFlip": {
        "required": [
          "averageMayorMedianDiff",
          "expectedPrice",
          "medianPrice",
          "usedPricesAfterCurrentMayor",
          "usedPricesBeforeNextMayor",
          "volume"
        ],
        "type": "object",
        "properties": {
          "itemTag": {
            "type": "string",
            "description": "Item tag of the item",
            "nullable": true
          },
          "itemName": {
            "type": "string",
            "description": "Item name of the item",
            "nullable": true
          },
          "averageMayorMedianDiff": {
            "type": "number",
            "description": "Average absolute difference between consecutive mayor window medians",
            "format": "double"
          },
          "volume": {
            "type": "integer",
            "description": "Observed volume for the item",
            "format": "int64"
          },
          "expectedPrice": {
            "type": "number",
            "description": "Gets or Sets ExpectedPrice",
            "format": "double"
          },
          "medianPrice": {
            "type": "number",
            "description": "Gets or Sets MedianPrice",
            "format": "double"
          },
          "nextMayor": {
            "type": "string",
            "description": "Gets or Sets NextMayor",
            "nullable": true
          },
          "usedPricesAfterCurrentMayor": {
            "type": "boolean",
            "description": "Gets or sets the used prices after current mayor."
          },
          "usedPricesBeforeNextMayor": {
            "type": "boolean",
            "description": "Gets or sets the used prices before next mayor."
          },
          "currentMayor": {
            "type": "string",
            "description": "Gets or Sets CurrentMayor",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a mayor diff flip."
      },
      "Member": {
        "type": "object",
        "properties": {
          "rift": {
            "$ref": "#/components/schemas/Rift"
          },
          "pets_data": {
            "$ref": "#/components/schemas/PetsData"
          },
          "inventory": {
            "$ref": "#/components/schemas/Inventory"
          },
          "currencies": {
            "$ref": "#/components/schemas/Currencies"
          }
        },
        "additionalProperties": false,
        "description": "Represents a member."
      },
      "MemberValue": {
        "required": [
          "fullValue"
        ],
        "type": "object",
        "properties": {
          "fullValue": {
            "type": "integer",
            "description": "Gets or sets the full value.",
            "format": "int64"
          },
          "valuePerCategory": {
            "type": "object",
            "additionalProperties": {
              "type": "number",
              "format": "double"
            },
            "description": "Gets or sets the value per category.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a member value."
      },
      "MinionRanking": {
        "required": [
          "coinsPerDay",
          "compacted",
          "experiencePerDay",
          "hoursToFill",
          "secondsBetweenHarvests",
          "setupCost",
          "storageLimited",
          "tier"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Display name of the minion",
            "nullable": true
          },
          "tier": {
            "type": "integer",
            "description": "Tier the figures are for; the best the budget reaches unless one was asked for",
            "format": "int32"
          },
          "coinsPerDay": {
            "type": "number",
            "description": "Coins per day after any recurring fuel cost",
            "format": "double"
          },
          "experiencePerDay": {
            "type": "number",
            "description": "Skill experience per day from collecting the produced items",
            "format": "double"
          },
          "setupCost": {
            "type": "number",
            "description": "Coins to craft and upgrade to this tier, plus the upgrade items",
            "format": "double"
          },
          "paybackDays": {
            "type": "number",
            "description": "Days of production to earn the setup cost back, null when it never does",
            "format": "double",
            "nullable": true
          },
          "secondsBetweenHarvests": {
            "type": "number",
            "description": "Seconds per yield, which is twice the time between actions",
            "format": "double"
          },
          "hoursToFill": {
            "type": "number",
            "description": "Hours until storage is full and the minion stops",
            "format": "double"
          },
          "storageLimited": {
            "type": "boolean",
            "description": "Whether storage fills before the player returns"
          },
          "compacted": {
            "type": "boolean",
            "description": "Whether the figures assume a Super Compactor 3000"
          },
          "missingRequirements": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Anything the recipe needs that coins cannot buy, such as pelts",
            "nullable": true
          },
          "unpricedIngredients": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Ingredients with no bazaar listing, which make the setup cost a floor",
            "nullable": true
          },
          "productTags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Item tags this minion produces",
            "nullable": true
          },
          "itemPages": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Price pages for what this minion produces. These are the numbers the ranking moves with, and a\ngenerator tag cannot be derived from the display name reliably enough to link to.",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false,
        "description": "One minion's outlook under the requested situation."
      },
      "MinionRankingResponse": {
        "required": [
          "generatedAt"
        ],
        "type": "object",
        "properties": {
          "minions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MinionRanking"
            },
            "description": "Best first by the requested objective",
            "nullable": true
          },
          "generatedAt": {
            "type": "string",
            "description": "When the underlying prices were read",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "The ranking and when it was produced."
      },
      "ModSettings": {
        "required": [
          "ahListHours",
          "autoStartFlipper",
          "blockedFormat",
          "blockedMsg",
          "blockOutbidMsg",
          "blockTenSecMsg",
          "chat",
          "countdown",
          "dataOnlyMode",
          "disableSpamProtection",
          "format",
          "hideBazaarOrderDisplay",
          "hideNoBestFlip",
          "hotkeys",
          "justProfit",
          "maxItemsInInventory",
          "maxPercentOfPurse",
          "noBedDelay",
          "normalSoldFlips",
          "quickSell",
          "shortNames",
          "shortNumbers",
          "soundOnFlip",
          "soundOnOutbid",
          "streamerMode",
          "tempBlacklistSpam",
          "tempBlacklistThreshold",
          "timerPrecision",
          "timerPrefix",
          "timerScale",
          "timerSeconds",
          "timerX",
          "timerY",
          "useSellerProfileButton"
        ],
        "type": "object",
        "properties": {
          "justProfit": {
            "type": "boolean"
          },
          "soundOnFlip": {
            "type": "boolean"
          },
          "soundOnOutbid": {
            "type": "boolean"
          },
          "hideBazaarOrderDisplay": {
            "type": "boolean"
          },
          "blockOutbidMsg": {
            "type": "boolean"
          },
          "shortNumbers": {
            "type": "boolean"
          },
          "shortNames": {
            "type": "boolean"
          },
          "blockTenSecMsg": {
            "type": "boolean"
          },
          "format": {
            "type": "string",
            "nullable": true
          },
          "blockedFormat": {
            "type": "string",
            "nullable": true
          },
          "chat": {
            "type": "boolean"
          },
          "countdown": {
            "type": "boolean"
          },
          "hideNoBestFlip": {
            "type": "boolean"
          },
          "timerX": {
            "type": "integer",
            "format": "int32"
          },
          "timerY": {
            "type": "integer",
            "format": "int32"
          },
          "timerSeconds": {
            "type": "integer",
            "format": "int32"
          },
          "timerScale": {
            "type": "number",
            "format": "float"
          },
          "timerPrefix": {
            "type": "string",
            "nullable": true
          },
          "timerPrecision": {
            "type": "integer",
            "format": "int32"
          },
          "blockedMsg": {
            "type": "integer",
            "format": "int32"
          },
          "maxPercentOfPurse": {
            "type": "integer",
            "format": "int32"
          },
          "noBedDelay": {
            "type": "boolean"
          },
          "streamerMode": {
            "type": "boolean"
          },
          "autoStartFlipper": {
            "type": "boolean"
          },
          "normalSoldFlips": {
            "type": "boolean"
          },
          "tempBlacklistSpam": {
            "type": "boolean"
          },
          "dataOnlyMode": {
            "type": "boolean"
          },
          "ahListHours": {
            "type": "integer",
            "format": "int32"
          },
          "quickSell": {
            "type": "boolean"
          },
          "maxItemsInInventory": {
            "type": "integer",
            "format": "int32"
          },
          "disableSpamProtection": {
            "type": "boolean"
          },
          "tempBlacklistThreshold": {
            "type": "integer",
            "format": "int32"
          },
          "useSellerProfileButton": {
            "type": "boolean"
          },
          "hotkeys": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ModType": {
        "enum": [
          "NONE",
          "INSERT",
          "REPLACE",
          "APPEND",
          "DELETE",
          "HIGHLIGHT",
          "SUGGEST"
        ],
        "type": "string",
        "description": "Defines the type of modification"
      },
      "NbtData": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "additionalProperties": {
              "enum": [
                null
              ],
              "nullable": true
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "NetworthBreakDown": {
        "required": [
          "fullValue"
        ],
        "type": "object",
        "properties": {
          "fullValue": {
            "type": "integer",
            "description": "Gets or sets the full value.",
            "format": "int64"
          },
          "member": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/MemberValue"
            },
            "description": "Gets or sets the member.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a net worth breakdown."
      },
      "NotificationTarget": {
        "required": [
          "id",
          "type",
          "useCount",
          "when"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Primary Key for database",
            "format": "int32"
          },
          "target": {
            "type": "string",
            "description": "The target to send the notification to\nDepends on the Coflnet.Sky.Api.Models.Notifications.NotificationTarget.Type\nWhen Type is WEBHOOK this is the url\nWhen Type is DISCORD this is the user id to be mentioned\nWhen Type is DISCORD_WEBHOOK this is the url\nWhen Type is FIREBASE this is the token\nWhen Type is EMAIL this is the email address",
            "nullable": true
          },
          "type": {
            "$ref": "#/components/schemas/TargetType"
          },
          "when": {
            "$ref": "#/components/schemas/NotifyWhen"
          },
          "userId": {
            "maxLength": 36,
            "type": "string",
            "description": "Gets or sets the user id.",
            "nullable": true
          },
          "name": {
            "maxLength": 32,
            "type": "string",
            "description": "User Given name of this target",
            "nullable": true
          },
          "useCount": {
            "type": "integer",
            "description": "Gets or sets the use count.",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Represents a notification target."
      },
      "NotifyWhen": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "description": "Defines the available notify when values.",
        "format": "int32"
      },
      "NpcFlip": {
        "required": [
          "buyPrice",
          "hourlySells",
          "lastUpdated",
          "npcSellPrice",
          "profit",
          "profitMargin"
        ],
        "type": "object",
        "properties": {
          "itemId": {
            "type": "string",
            "nullable": true
          },
          "itemName": {
            "type": "string",
            "nullable": true
          },
          "buyPrice": {
            "type": "number",
            "format": "double"
          },
          "npcSellPrice": {
            "type": "number",
            "format": "double"
          },
          "profit": {
            "type": "number",
            "format": "double"
          },
          "hourlySells": {
            "type": "integer",
            "format": "int32"
          },
          "profitMargin": {
            "type": "number",
            "format": "double"
          },
          "lastUpdated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "OldRefInfo": {
        "required": [
          "bougthPremium",
          "count",
          "receivedHours",
          "receivedTime",
          "refId"
        ],
        "type": "object",
        "properties": {
          "refId": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int32"
          },
          "receivedTime": {
            "type": "string",
            "format": "date-span"
          },
          "receivedHours": {
            "type": "integer",
            "format": "int32"
          },
          "bougthPremium": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Order": {
        "required": [
          "amount",
          "orders",
          "pricePerUnit"
        ],
        "type": "object",
        "properties": {
          "amount": {
            "type": "integer",
            "format": "int32"
          },
          "pricePerUnit": {
            "type": "number",
            "format": "double"
          },
          "orders": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "OwnedTierSlot": {
        "required": [
          "expires",
          "version"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "tier": {
            "type": "string",
            "nullable": true
          },
          "expires": {
            "type": "string",
            "format": "date-time"
          },
          "assignedUserId": {
            "type": "string",
            "nullable": true
          },
          "minecraftUuid": {
            "type": "string",
            "nullable": true
          },
          "version": {
            "type": "integer",
            "format": "int64"
          },
          "recipientEmail": {
            "type": "string",
            "nullable": true
          },
          "minecraftName": {
            "type": "string",
            "nullable": true
          },
          "subscriptionId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "OwnerShip": {
        "required": [
          "canManage",
          "expiresAt"
        ],
        "type": "object",
        "properties": {
          "expiresAt": {
            "type": "string",
            "description": "Gets or sets the expires at.",
            "format": "date-time"
          },
          "ownerId": {
            "type": "string",
            "nullable": true
          },
          "slotId": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "canManage": {
            "type": "boolean"
          }
        },
        "additionalProperties": false,
        "description": "Represents item ownership information."
      },
      "Pet": {
        "required": [
          "active",
          "candyUsed",
          "exp",
          "total_exp_gained"
        ],
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "description": "Gets or sets the uuid.",
            "nullable": true
          },
          "uniqueId": {
            "type": "string",
            "description": "Gets or sets the unique id.",
            "nullable": true
          },
          "type": {
            "type": "string",
            "description": "Gets or sets the type.",
            "nullable": true
          },
          "exp": {
            "type": "number",
            "description": "Gets or sets the exp.",
            "format": "double"
          },
          "active": {
            "type": "boolean",
            "description": "Gets or sets the active."
          },
          "tier": {
            "type": "string",
            "description": "Gets or sets the tier.",
            "nullable": true
          },
          "heldItem": {
            "type": "string",
            "description": "Gets or sets the held item.",
            "nullable": true
          },
          "candyUsed": {
            "type": "integer",
            "description": "Gets or sets the candy used.",
            "format": "int32"
          },
          "skin": {
            "type": "string",
            "description": "Gets or sets the skin.",
            "nullable": true
          },
          "extra": {
            "type": "object",
            "additionalProperties": {
              "enum": [
                null
              ],
              "nullable": true
            },
            "description": "Gets or sets the extra.",
            "nullable": true
          },
          "milestone": {
            "type": "object",
            "additionalProperties": {
              "type": "number",
              "format": "double"
            },
            "description": "Gets or sets the milestone.",
            "nullable": true
          },
          "total_exp_gained": {
            "type": "number",
            "description": "Gets or sets the total exp gained.",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Represents a pet."
      },
      "PetLevelingFlip": {
        "required": [
          "buyPrice",
          "coinsPerExp",
          "expRequired",
          "profit",
          "sellPrice",
          "targetLevel",
          "tier"
        ],
        "type": "object",
        "properties": {
          "tag": {
            "type": "string",
            "description": "The item tag of the pet, eg. PET_SHEEP",
            "nullable": true
          },
          "tier": {
            "$ref": "#/components/schemas/Tier"
          },
          "expType": {
            "type": "string",
            "description": "The skill the pet gains full exp from, eg. FORAGING, null if unknown",
            "nullable": true
          },
          "targetLevel": {
            "type": "integer",
            "description": "The level the pet is sold at",
            "format": "int32"
          },
          "auctionUuid": {
            "type": "string",
            "description": "The auction to buy the low level pet from, usable as https://sky.coflnet.com/a/{uuid}",
            "nullable": true
          },
          "buyPrice": {
            "type": "integer",
            "description": "Price of the low level pet in Coflnet.Sky.Api.Models.PetLevelingFlip.AuctionUuid",
            "format": "int64"
          },
          "sellPrice": {
            "type": "integer",
            "description": "Clean price of the pet at Coflnet.Sky.Api.Models.PetLevelingFlip.TargetLevel",
            "format": "int64"
          },
          "profit": {
            "type": "integer",
            "description": "Difference between Coflnet.Sky.Api.Models.PetLevelingFlip.SellPrice and Coflnet.Sky.Api.Models.PetLevelingFlip.BuyPrice, before auction house fees",
            "format": "int64"
          },
          "expRequired": {
            "type": "integer",
            "description": "Pet exp needed to get from level 1 to Coflnet.Sky.Api.Models.PetLevelingFlip.TargetLevel, 0 if unknown",
            "format": "int64"
          },
          "coinsPerExp": {
            "type": "number",
            "description": "Coflnet.Sky.Api.Models.PetLevelingFlip.Profit per pet exp, 0 if Coflnet.Sky.Api.Models.PetLevelingFlip.ExpRequired is unknown",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Profit opportunity from buying a low level pet and selling it once leveled"
      },
      "PetState": {
        "required": [
          "candyUsed",
          "currentExp",
          "exp",
          "expForLevel",
          "isActive",
          "lastUpdated",
          "level",
          "progressPercent",
          "targetLevel"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "tier": {
            "type": "string",
            "nullable": true
          },
          "level": {
            "type": "integer",
            "format": "int32"
          },
          "exp": {
            "type": "number",
            "format": "double"
          },
          "isActive": {
            "type": "boolean"
          },
          "heldItem": {
            "type": "string",
            "nullable": true
          },
          "candyUsed": {
            "type": "integer",
            "format": "int32"
          },
          "colorCode": {
            "type": "string",
            "nullable": true
          },
          "tag": {
            "type": "string",
            "nullable": true
          },
          "uuid": {
            "type": "string",
            "nullable": true
          },
          "progressPercent": {
            "type": "number",
            "format": "double"
          },
          "targetLevel": {
            "type": "integer",
            "format": "int32"
          },
          "currentExp": {
            "type": "number",
            "format": "double"
          },
          "expForLevel": {
            "type": "number",
            "format": "double"
          },
          "lastUpdated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "PetsData": {
        "type": "object",
        "properties": {
          "autopet": {
            "$ref": "#/components/schemas/Autopet"
          },
          "pets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Pet"
            },
            "description": "Gets or sets the pets.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a pets data."
      },
      "PlayerElectionVote": {
        "required": [
          "voteCount"
        ],
        "type": "object",
        "properties": {
          "votedFor": {
            "type": "string",
            "nullable": true
          },
          "voteCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "PlayerResult": {
        "required": [
          "hitCount",
          "name",
          "uuid"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "uuid": {
            "type": "string",
            "nullable": true
          },
          "hitCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "PlaystorTopup": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "description": "Gets or sets the user ID.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Identifies a Google Play top-up user."
      },
      "PremiumSubscription": {
        "required": [
          "createdAt",
          "renewsAt",
          "slotCount"
        ],
        "type": "object",
        "properties": {
          "externalId": {
            "type": "string",
            "description": "Gets or sets the external id.",
            "nullable": true
          },
          "endsAt": {
            "type": "string",
            "description": "Gets or sets the ends at.",
            "format": "date-time",
            "nullable": true
          },
          "productName": {
            "type": "string",
            "description": "Gets or sets the product name.",
            "nullable": true
          },
          "slotCount": {
            "type": "integer",
            "description": "Number of assignable slots renewed by this subscription; zero for personal access.",
            "format": "int32"
          },
          "paymentAmount": {
            "type": "string",
            "description": "Gets or sets the payment amount.",
            "nullable": true
          },
          "renewsAt": {
            "type": "string",
            "description": "Gets or sets the renews at.",
            "format": "date-time"
          },
          "createdAt": {
            "type": "string",
            "description": "Gets or sets the created at.",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Represents a premium subscription."
      },
      "PriceEstimate": {
        "required": [
          "fastSell",
          "lbin",
          "median",
          "volume"
        ],
        "type": "object",
        "properties": {
          "lbin": {
            "type": "integer",
            "description": "The best matching lowest bin found on ah",
            "format": "int64"
          },
          "median": {
            "type": "integer",
            "description": "The best matching median sell price",
            "format": "int64"
          },
          "volume": {
            "type": "number",
            "description": "average 24 hour sell volume",
            "format": "float"
          },
          "lbinLink": {
            "type": "string",
            "description": "The link to best matching lbin",
            "nullable": true
          },
          "fastSell": {
            "type": "integer",
            "description": "Suggested price for selling withing 5 minutes",
            "format": "int64"
          },
          "lbinKey": {
            "type": "string",
            "description": "They key for the lbin",
            "nullable": true
          },
          "medianKey": {
            "type": "string",
            "description": "The key of the median price",
            "nullable": true
          },
          "itemKey": {
            "type": "string",
            "description": "The key of the",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a price estimate."
      },
      "PriceStatistics": {
        "required": [
          "averageSellTimeSeconds",
          "binCount",
          "totalAuctions",
          "totalAuctionsSold",
          "totalBids",
          "totalBuyers",
          "totalCoinsTransferred",
          "totalItemsSold",
          "totalListed",
          "totalSellers"
        ],
        "type": "object",
        "properties": {
          "averageSellTimeSeconds": {
            "type": "integer",
            "format": "int64"
          },
          "totalAuctionsSold": {
            "type": "integer",
            "format": "int32"
          },
          "totalListed": {
            "type": "integer",
            "format": "int32"
          },
          "totalSellers": {
            "type": "integer",
            "format": "int32"
          },
          "totalBuyers": {
            "type": "integer",
            "format": "int32"
          },
          "totalBids": {
            "type": "integer",
            "format": "int32"
          },
          "totalCoinsTransferred": {
            "type": "integer",
            "format": "int64"
          },
          "totalAuctions": {
            "type": "integer",
            "format": "int32"
          },
          "totalItemsSold": {
            "type": "integer",
            "format": "int32"
          },
          "binCount": {
            "type": "integer",
            "format": "int32"
          },
          "prices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AveragePrice"
            },
            "nullable": true
          },
          "recentSamples": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AuctionPreview"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PriceSumary": {
        "required": [
          "max",
          "mean",
          "median",
          "min",
          "mode",
          "volume"
        ],
        "type": "object",
        "properties": {
          "min": {
            "type": "integer",
            "format": "int64"
          },
          "median": {
            "type": "integer",
            "format": "int64"
          },
          "mean": {
            "type": "number",
            "format": "double"
          },
          "mode": {
            "type": "integer",
            "format": "int64"
          },
          "volume": {
            "type": "number",
            "format": "double"
          },
          "max": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "PricingBreakdwon": {
        "required": [
          "craftPrice"
        ],
        "type": "object",
        "properties": {
          "craftPrice": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CraftPrice"
            },
            "description": "Stores the craft price.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a pricing breakdown."
      },
      "PricingRequest": {
        "type": "object",
        "properties": {
          "productSlugs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Gets or sets the product slugs.",
            "nullable": true
          },
          "countryCode": {
            "type": "string",
            "description": "Gets or sets the country code.",
            "nullable": true
          },
          "creatorCode": {
            "type": "string",
            "description": "Gets or sets the creator code.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a pricing request."
      },
      "PrivacySettings": {
        "required": [
          "allowProxy",
          "autoStart",
          "chatBlockRegex",
          "chatRegex",
          "collectChat",
          "collectChatClicks",
          "collectInventory",
          "collectScoreboard",
          "collectTab",
          "commandPrefixes",
          "disableBazaarTracking",
          "disableKuudraTracking",
          "disableTradeStoring",
          "extendDescriptions",
          "noMessageBlocking"
        ],
        "type": "object",
        "properties": {
          "chatRegex": {
            "type": "string",
            "nullable": true
          },
          "collectChat": {
            "type": "boolean"
          },
          "collectInventory": {
            "type": "boolean"
          },
          "disableTradeStoring": {
            "type": "boolean"
          },
          "disableKuudraTracking": {
            "type": "boolean"
          },
          "disableBazaarTracking": {
            "type": "boolean"
          },
          "collectTab": {
            "type": "boolean"
          },
          "collectScoreboard": {
            "type": "boolean"
          },
          "allowProxy": {
            "type": "boolean"
          },
          "collectChatClicks": {
            "type": "boolean"
          },
          "extendDescriptions": {
            "type": "boolean"
          },
          "commandPrefixes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "autoStart": {
            "type": "boolean"
          },
          "chatBlockRegex": {
            "type": "string",
            "nullable": true
          },
          "noMessageBlocking": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "ProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": { }
      },
      "ProductPricingResponse": {
        "required": [
          "discountPercent"
        ],
        "type": "object",
        "properties": {
          "productSlug": {
            "type": "string",
            "nullable": true
          },
          "creatorCode": {
            "type": "string",
            "nullable": true
          },
          "discountPercent": {
            "type": "number",
            "format": "double"
          },
          "providers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProviderPricingOption"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ProductType": {
        "enum": [
          "NONE",
          "SERVICE",
          "COLLECTABLE",
          "TOP_UP",
          "LOCKED",
          "DISABLED",
          "VARIABLE_PRICE"
        ],
        "type": "string"
      },
      "Profile": {
        "required": [
          "selected"
        ],
        "type": "object",
        "properties": {
          "profile_id": {
            "type": "string",
            "description": "Gets or sets the profile id.",
            "nullable": true
          },
          "members": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/Member"
            },
            "description": "Gets or sets the members.",
            "nullable": true
          },
          "cute_name": {
            "type": "string",
            "description": "Gets or sets the cute name.",
            "nullable": true
          },
          "selected": {
            "type": "boolean",
            "description": "Gets or sets the selected."
          },
          "game_mode": {
            "type": "string",
            "description": "Gets or sets the game mode.",
            "nullable": true
          },
          "banking": {
            "$ref": "#/components/schemas/Banking"
          },
          "created_at": {
            "type": "integer",
            "description": "Gets or sets the created at.",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a profile."
      },
      "ProfitableCraft": {
        "required": [
          "buyOrderCraftCost",
          "craftCost",
          "lastUpdated",
          "median",
          "sellPrice",
          "volume"
        ],
        "type": "object",
        "properties": {
          "itemId": {
            "type": "string",
            "nullable": true
          },
          "itemName": {
            "type": "string",
            "nullable": true
          },
          "sellPrice": {
            "type": "number",
            "format": "double"
          },
          "craftCost": {
            "type": "number",
            "format": "double"
          },
          "buyOrderCraftCost": {
            "type": "number",
            "format": "double"
          },
          "ingredients": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ingredient"
            },
            "nullable": true
          },
          "reqCollection": {
            "$ref": "#/components/schemas/RequiredCollection"
          },
          "reqSlayer": {
            "$ref": "#/components/schemas/RequiredCollection"
          },
          "reqSkill": {
            "$ref": "#/components/schemas/RequiredSkill"
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "volume": {
            "type": "number",
            "format": "double"
          },
          "median": {
            "type": "number",
            "format": "float"
          },
          "lastUpdated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "PropertyChange": {
        "required": [
          "description",
          "effect"
        ],
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "nullable": true
          },
          "effect": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "ProviderPricingOption": {
        "required": [
          "coinsAmount",
          "discountAmount",
          "discountedPrice",
          "originalPrice"
        ],
        "type": "object",
        "properties": {
          "providerSlug": {
            "type": "string",
            "nullable": true
          },
          "providerName": {
            "type": "string",
            "nullable": true
          },
          "originalPrice": {
            "type": "number",
            "format": "double"
          },
          "discountedPrice": {
            "type": "number",
            "format": "double"
          },
          "discountAmount": {
            "type": "number",
            "format": "double"
          },
          "currencyCode": {
            "type": "string",
            "nullable": true
          },
          "coinsAmount": {
            "type": "integer",
            "format": "int64"
          },
          "productTitle": {
            "type": "string",
            "nullable": true
          },
          "productDescription": {
            "type": "string",
            "nullable": true
          },
          "googlePlayProductId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PublicSubscription": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "sourceType": {
            "$ref": "#/components/schemas/SourceType"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "sourceSubIdRegex": {
            "type": "string",
            "nullable": true
          },
          "targets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TargetLink"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PurchaseArgs": {
        "required": [
          "count",
          "reference",
          "slug"
        ],
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "description": "The service to pruchase",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "description": "How many instances to purchase (longer time)",
            "format": "int32"
          },
          "reference": {
            "type": "string",
            "description": "Reference to prevent dupplicates",
            "nullable": true
          },
          "slotIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Owned slots to extend; omit to purchase new capacity.",
            "nullable": true
          },
          "immediatePerformanceRequested": {
            "type": "boolean",
            "description": "Whether the user expressly requested early performance for this\norder.",
            "nullable": true
          },
          "withdrawalConsequenceAcknowledged": {
            "type": "boolean",
            "description": "Whether the user acknowledged the consequence of complete\nperformance.",
            "nullable": true
          },
          "declarationVersion": {
            "type": "string",
            "description": "Hash-verified declaration version shown to the user.",
            "nullable": true
          },
          "legalLocale": {
            "type": "string",
            "description": "Locale in which the declaration was shown.",
            "nullable": true
          },
          "declarationRequestId": {
            "type": "string",
            "description": "Idempotency identifier for this declaration and order.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Arguments for purchasing a service"
      },
      "PurchaseableProduct": {
        "required": [
          "cost",
          "id",
          "ownershipSeconds",
          "slotCount"
        ],
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/ProductType"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "cost": {
            "type": "number",
            "format": "double"
          },
          "ownershipSeconds": {
            "type": "integer",
            "format": "int64"
          },
          "slotCount": {
            "type": "integer",
            "format": "int32"
          },
          "slotTier": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "QueryStatus": {
        "enum": [
          "Success",
          "NoResults",
          "Pending",
          "Partial"
        ],
        "type": "string",
        "description": "What status the query has"
      },
      "RatCheckingResponse": {
        "required": [
          "md5return"
        ],
        "type": "object",
        "properties": {
          "rat": {
            "type": "string",
            "description": "Verdict text for the scanned jar as reported by isthisarat.com.\nThe website matches on \"Yes\", \"No\" and \"No matching signature\"",
            "nullable": true
          },
          "md5return": {
            "type": "string",
            "description": "Md5 hash isthisarat.com matched the lookup against",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Verdict for a mod jar returned by the upstream isthisarat.com signature lookup.\nDeserialized tolerantly (case-insensitive, unknown fields ignored) since the real\nsuccess shape could not be captured while the upstream sat behind a Cloudflare challenge."
      },
      "Recipe": {
        "required": [
          "A1",
          "A2",
          "A3",
          "B1",
          "B2",
          "B3",
          "C1",
          "C2",
          "C3",
          "count"
        ],
        "type": "object",
        "properties": {
          "A1": {
            "type": "string",
            "nullable": true
          },
          "A2": {
            "type": "string",
            "nullable": true
          },
          "A3": {
            "type": "string",
            "nullable": true
          },
          "B1": {
            "type": "string",
            "nullable": true
          },
          "B2": {
            "type": "string",
            "nullable": true
          },
          "B3": {
            "type": "string",
            "nullable": true
          },
          "C1": {
            "type": "string",
            "nullable": true
          },
          "C2": {
            "type": "string",
            "nullable": true
          },
          "C3": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "number",
            "format": "float"
          }
        },
        "additionalProperties": false
      },
      "ReferralInfo": {
        "required": [
          "purchasedCoinAmount",
          "purchasedCoins",
          "referedCount",
          "validatedMinecraft"
        ],
        "type": "object",
        "properties": {
          "referedCount": {
            "type": "integer",
            "description": "Gets or sets the refered count.",
            "format": "int32"
          },
          "validatedMinecraft": {
            "type": "integer",
            "description": "Gets or sets the validated minecraft.",
            "format": "int32"
          },
          "purchasedCoins": {
            "type": "integer",
            "description": "Gets or sets the purchased coins.",
            "format": "int32"
          },
          "purchasedCoinAmount": {
            "type": "integer",
            "description": "Gets or sets the purchased coin amount.",
            "format": "int32"
          },
          "referredBy": {
            "type": "string",
            "description": "Gets or sets the referred by.",
            "nullable": true
          },
          "inviterMinecraftName": {
            "type": "string",
            "description": "Gets or sets the inviter minecraft name.",
            "nullable": true
          },
          "oldInfo": {
            "$ref": "#/components/schemas/OldRefInfo"
          }
        },
        "additionalProperties": false,
        "description": "Contains referral statistics and inviter details."
      },
      "ReferredBy": {
        "type": "object",
        "properties": {
          "refCode": {
            "type": "string",
            "description": "",
            "nullable": true
          },
          "programVersion": {
            "type": "string",
            "description": "Version of the referral offer shown to the user.",
            "nullable": true
          },
          "locale": {
            "type": "string",
            "description": "Locale in which the referral offer was shown.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Object containing referral code to give reward to"
      },
      "Reforge": {
        "enum": [
          "None",
          "Demonic",
          "Forceful",
          "Gentle",
          "Godly",
          "Hurtful",
          "Keen",
          "Strong",
          "Superior",
          "Unpleasant",
          "Zealous",
          "Odd",
          "Rich",
          "Epic",
          "Fair",
          "Fast",
          "Heroic",
          "Legendary",
          "Spicy",
          "Deadly",
          "Fine",
          "Grand",
          "Hasty",
          "Neat",
          "Papid",
          "Unreal",
          "Clean",
          "Fierce",
          "Heavy",
          "Light",
          "Mythic",
          "Pure",
          "Smart",
          "Titanic",
          "Wise",
          "Very",
          "Highly",
          "Bizarre",
          "Itchy",
          "Omnious",
          "Pleasant",
          "Pretty",
          "Shiny",
          "Simple",
          "Strange",
          "Vivid",
          "Ominous",
          "Sharp",
          "Rapid",
          "Necrotic",
          "Fabled",
          "Precise",
          "Giant",
          "aote_stone",
          "Spiritual",
          "Treacherous",
          "RENOWED",
          "Reinforced",
          "rich_bow",
          "Spiked",
          "Perfect",
          "Magnetic",
          "Loving",
          "Gilded",
          "odd_sword",
          "Salty",
          "Silky",
          "Refined",
          "suspicious",
          "toil",
          "empowered",
          "fruitful",
          "blessed",
          "shaded",
          "awkward",
          "dirty",
          "undead",
          "cubic",
          "bloody",
          "moil",
          "ridiculous",
          "rich_sword",
          "warped",
          "odd_bow",
          "candied",
          "submerged",
          "ancient",
          "withered",
          "sweet",
          "fleet",
          "stellar",
          "mithraic",
          "Auspicious",
          "headstrong",
          "stiff",
          "bulky",
          "lucky",
          "bountiful",
          "heated",
          "jaded",
          "ambered",
          "double_bit",
          "excellent",
          "fortunate",
          "prospector",
          "lush",
          "sturdy",
          "lumberjack",
          "unyielding",
          "great",
          "robust",
          "rugged",
          "zooming",
          "peasant",
          "strengthened",
          "glistening",
          "waxed",
          "fortified",
          "green_thumb",
          "pitchin",
          "coldfusion",
          "bustling",
          "earthy",
          "mossy",
          "blooming",
          "rooted",
          "festive",
          "snowy",
          "Unknown",
          "Any",
          "chomp",
          "full_jaw_fanging_kit",
          "presumed_gallon_of_red_paint",
          "displaced_leech",
          "Fang_tastic_chocolate_chip",
          "bubba_blister",
          "fanged",
          "blood_soaked",
          "stained",
          "menacing",
          "hefty",
          "soft",
          "honored",
          "blended",
          "astute",
          "colossal",
          "brilliant",
          "greater_spook",
          "beady",
          "buzzing",
          "jerry_stone",
          "hyper",
          "coldfused",
          "Earthly",
          "glacial",
          "lustrous",
          "blazing",
          "scraped",
          "royal",
          "dimensional",
          "squeaky",
          "trashy",
          "calcified",
          "groovy",
          "moonglade",
          "bloodshot",
          "blood_shot",
          "erudite",
          "lunar",
          "sunny",
          "mantid",
          "deep_fried",
          "overpriced",
          "geometric",
          "thorny",
          "sticky",
          "majestic"
        ],
        "type": "string"
      },
      "RequiredCollection": {
        "required": [
          "level"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "level": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "RequiredSkill": {
        "required": [
          "level"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "level": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ResidualEntryDto": {
        "required": [
          "pricePerUnit",
          "remainingCapacityUnits",
          "spreadPerUnit"
        ],
        "type": "object",
        "properties": {
          "itemTag": {
            "type": "string",
            "nullable": true
          },
          "remainingCapacityUnits": {
            "type": "number",
            "format": "double"
          },
          "spreadPerUnit": {
            "type": "number",
            "format": "double"
          },
          "pricePerUnit": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "ReverseNpcFlip": {
        "required": [
          "lastUpdated",
          "npcBuyPrice",
          "profit",
          "profitMargin",
          "sellPrice",
          "volume"
        ],
        "type": "object",
        "properties": {
          "npcName": {
            "type": "string",
            "nullable": true
          },
          "itemId": {
            "type": "string",
            "nullable": true
          },
          "itemName": {
            "type": "string",
            "nullable": true
          },
          "npcBuyPrice": {
            "type": "number",
            "format": "double"
          },
          "sellPrice": {
            "type": "number",
            "format": "double"
          },
          "profit": {
            "type": "number",
            "format": "double"
          },
          "profitMargin": {
            "type": "number",
            "format": "double"
          },
          "costs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Cost"
            },
            "nullable": true
          },
          "volume": {
            "type": "number",
            "format": "double"
          },
          "lastUpdated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "Rift": {
        "type": "object",
        "properties": {
          "inventory": {
            "$ref": "#/components/schemas/Inventory"
          }
        },
        "additionalProperties": false,
        "description": "Represents a rift."
      },
      "SaveAuction": {
        "required": [
          "anvilUses",
          "bin",
          "category",
          "count",
          "end",
          "flatNbt",
          "highestBidAmount",
          "itemCreatedAt",
          "reforge",
          "start",
          "startingBid",
          "tier"
        ],
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int32"
          },
          "startingBid": {
            "type": "integer",
            "format": "int64"
          },
          "tag": {
            "maxLength": 40,
            "type": "string",
            "nullable": true
          },
          "itemName": {
            "maxLength": 45,
            "type": "string",
            "nullable": true
          },
          "start": {
            "type": "string",
            "format": "date-time"
          },
          "end": {
            "type": "string",
            "format": "date-time"
          },
          "auctioneerId": {
            "type": "string",
            "nullable": true
          },
          "profileId": {
            "type": "string",
            "nullable": true
          },
          "coop": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "coopMembers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UuId"
            },
            "nullable": true
          },
          "highestBidAmount": {
            "type": "integer",
            "format": "int64"
          },
          "bids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SaveBids"
            },
            "nullable": true
          },
          "anvilUses": {
            "type": "integer",
            "format": "int32"
          },
          "enchantments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Enchantment"
            },
            "nullable": true
          },
          "nbtData": {
            "$ref": "#/components/schemas/NbtData"
          },
          "itemCreatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "reforge": {
            "$ref": "#/components/schemas/Reforge"
          },
          "category": {
            "$ref": "#/components/schemas/Category"
          },
          "tier": {
            "$ref": "#/components/schemas/Tier"
          },
          "bin": {
            "type": "boolean"
          },
          "flatNbt": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SaveBids": {
        "required": [
          "amount",
          "timestamp"
        ],
        "type": "object",
        "properties": {
          "bidder": {
            "type": "string",
            "nullable": true
          },
          "profileId": {
            "type": "string",
            "nullable": true
          },
          "amount": {
            "type": "integer",
            "format": "int64"
          },
          "timestamp": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "SearchResultItem": {
        "required": [
          "iconUrl",
          "id",
          "img",
          "name",
          "tier",
          "type"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "iconUrl": {
            "type": "string",
            "nullable": true
          },
          "img": {
            "type": "string",
            "nullable": true
          },
          "tier": {
            "$ref": "#/components/schemas/Tier"
          }
        },
        "additionalProperties": false
      },
      "SellSpeedBucket": {
        "required": [
          "avgPrice",
          "avgSellTimeSeconds",
          "maxPrice",
          "minPrice",
          "sampleCount"
        ],
        "type": "object",
        "properties": {
          "minPrice": {
            "type": "integer",
            "format": "int64"
          },
          "maxPrice": {
            "type": "integer",
            "format": "int64"
          },
          "avgPrice": {
            "type": "integer",
            "format": "int64"
          },
          "avgSellTimeSeconds": {
            "type": "number",
            "format": "double"
          },
          "speedCategory": {
            "type": "string",
            "nullable": true
          },
          "sampleCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "SellerShare": {
        "required": [
          "count",
          "percentage"
        ],
        "type": "object",
        "properties": {
          "seller": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int32"
          },
          "percentage": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "SkyblockItem": {
        "required": [
          "npcSellPrice"
        ],
        "type": "object",
        "properties": {
          "npcSellPrice": {
            "type": "number",
            "description": "Gets or sets the npc sell price.",
            "format": "float"
          },
          "minecraftType": {
            "type": "string",
            "description": "Gets or sets the minecraft type.",
            "nullable": true
          },
          "iconUrl": {
            "type": "string",
            "description": "Gets or sets the icon url.",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Gets or sets the name.",
            "nullable": true
          },
          "tag": {
            "type": "string",
            "description": "Gets or sets the tag.",
            "nullable": true
          },
          "flags": {
            "$ref": "#/components/schemas/ItemFlags"
          },
          "tier": {
            "$ref": "#/components/schemas/Tier"
          },
          "category": {
            "$ref": "#/components/schemas/ItemCategory"
          }
        },
        "additionalProperties": false,
        "description": "Represents a skyblock item."
      },
      "SlotRecipient": {
        "required": [
          "version"
        ],
        "type": "object",
        "properties": {
          "email": {
            "maxLength": 254,
            "type": "string",
            "format": "email",
            "nullable": true
          },
          "minecraftAccount": {
            "maxLength": 36,
            "type": "string",
            "nullable": true
          },
          "version": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "SoldAuction": {
        "required": [
          "bin",
          "count",
          "end",
          "highestBidAmount",
          "id",
          "start",
          "startingBid",
          "tier"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Auction ID",
            "format": "int32"
          },
          "uuid": {
            "type": "string",
            "description": "Auction UUID",
            "nullable": true
          },
          "tag": {
            "type": "string",
            "description": "Item tag/ID",
            "nullable": true
          },
          "itemName": {
            "type": "string",
            "description": "Item name",
            "nullable": true
          },
          "auctioneerId": {
            "type": "string",
            "description": "Auctioneer UUID",
            "nullable": true
          },
          "startingBid": {
            "type": "integer",
            "description": "Starting bid amount",
            "format": "int64"
          },
          "highestBidAmount": {
            "type": "integer",
            "description": "Highest bid amount",
            "format": "int64"
          },
          "start": {
            "type": "string",
            "description": "Auction start time",
            "format": "date-time"
          },
          "end": {
            "type": "string",
            "description": "Auction end time",
            "format": "date-time"
          },
          "bin": {
            "type": "boolean",
            "description": "Is BIN auction"
          },
          "count": {
            "type": "integer",
            "description": "Item count",
            "format": "int32"
          },
          "enchantments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Enchantment"
            },
            "description": "Enchantments",
            "nullable": true
          },
          "shortItemBytes": {
            "type": "string",
            "description": "NBT data as base64 encoded string",
            "nullable": true
          },
          "flattenedNbt": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "description": "Gets or sets the flattened nbt.",
            "nullable": true,
            "readOnly": true
          },
          "tier": {
            "$ref": "#/components/schemas/Tier"
          }
        },
        "additionalProperties": false,
        "description": "Auction with NBT data encoded as base64 string for API responses"
      },
      "SourceType": {
        "enum": [
          "Unknwon",
          "Any",
          "Bazaar",
          "BazaarExpire",
          "Subscription",
          "Purchase",
          "McVerify"
        ],
        "type": "string"
      },
      "SpreadFlip": {
        "required": [
          "isManipulated"
        ],
        "type": "object",
        "properties": {
          "flip": {
            "$ref": "#/components/schemas/BazaarFlip"
          },
          "itemName": {
            "type": "string",
            "description": "Gets or sets the item name.",
            "nullable": true
          },
          "isManipulated": {
            "type": "boolean",
            "description": "Gets or sets the is manipulated."
          }
        },
        "additionalProperties": false,
        "description": "Item Metadata"
      },
      "StorageQuickStatus": {
        "required": [
          "buyMovingWeek",
          "buyOrdersCount",
          "buyPrice",
          "buyVolume",
          "sellMovingWeek",
          "sellOrdersCount",
          "sellPrice",
          "sellVolume",
          "timeStamp"
        ],
        "type": "object",
        "properties": {
          "productId": {
            "type": "string",
            "nullable": true
          },
          "buyPrice": {
            "type": "number",
            "format": "double"
          },
          "buyVolume": {
            "type": "integer",
            "format": "int64"
          },
          "buyMovingWeek": {
            "type": "integer",
            "format": "int64"
          },
          "buyOrdersCount": {
            "type": "integer",
            "format": "int32"
          },
          "sellPrice": {
            "type": "number",
            "format": "double"
          },
          "sellVolume": {
            "type": "integer",
            "format": "int64"
          },
          "sellMovingWeek": {
            "type": "integer",
            "format": "int64"
          },
          "sellOrdersCount": {
            "type": "integer",
            "format": "int32"
          },
          "timeStamp": {
            "type": "string",
            "format": "date-time"
          },
          "buyOrders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Order"
            },
            "nullable": true
          },
          "sellOrders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Order"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SubType": {
        "enum": [
          0,
          1,
          2,
          4,
          8,
          16,
          32,
          64,
          128,
          256,
          512
        ],
        "type": "integer",
        "description": "Defines the available sub type values.",
        "format": "int32"
      },
      "SubscriptionChangeResult": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "nullable": true
          },
          "redirectUrl": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SubscriptionPlan": {
        "required": [
          "isUpgrade",
          "ownershipSeconds",
          "price",
          "slotCount"
        ],
        "type": "object",
        "properties": {
          "productSlug": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "price": {
            "type": "number",
            "format": "double"
          },
          "currencyCode": {
            "type": "string",
            "nullable": true
          },
          "ownershipSeconds": {
            "type": "integer",
            "format": "int64"
          },
          "slotCount": {
            "type": "integer",
            "format": "int32"
          },
          "isUpgrade": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "SupplyElement": {
        "required": [
          "lbinData",
          "median",
          "supply",
          "tag",
          "volume"
        ],
        "type": "object",
        "properties": {
          "tag": {
            "type": "string",
            "description": "Item Tag of the time",
            "nullable": true
          },
          "supply": {
            "type": "integer",
            "description": "How much supply there is on the ah",
            "format": "int64"
          },
          "median": {
            "type": "integer",
            "description": "Median sell price",
            "format": "int64"
          },
          "lbinData": {
            "$ref": "#/components/schemas/BinResponse"
          },
          "volume": {
            "type": "number",
            "description": "The average amount of sells in 24 hours",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Element for the /lowSupply page"
      },
      "TargetLink": {
        "required": [
          "id",
          "isDisabled",
          "priority"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "priority": {
            "type": "integer",
            "format": "int32"
          },
          "isDisabled": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "TargetType": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6
        ],
        "type": "integer",
        "description": "Defines the available target type values.",
        "format": "int32"
      },
      "TaskSession": {
        "required": [
          "lastItemTime",
          "startTime"
        ],
        "type": "object",
        "properties": {
          "detectedTask": {
            "type": "string",
            "nullable": true
          },
          "startTime": {
            "type": "string",
            "format": "date-time"
          },
          "lastItemTime": {
            "type": "string",
            "format": "date-time"
          },
          "server": {
            "type": "string",
            "nullable": true
          },
          "location": {
            "type": "string",
            "nullable": true
          },
          "items": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TermsStatus": {
        "required": [
          "agreementHash",
          "agreementId",
          "agreementUrl",
          "canContinueWithoutAccepting",
          "canStartNewContract",
          "documents",
          "englishUrl",
          "germanUrl",
          "hash",
          "required",
          "version"
        ],
        "type": "object",
        "properties": {
          "required": {
            "type": "boolean",
            "description": "Whether acceptance is required."
          },
          "canContinueWithoutAccepting": {
            "type": "boolean",
            "description": "Whether the user may continue under a prior agreement."
          },
          "canStartNewContract": {
            "type": "boolean",
            "description": "Whether the user may start a new contract."
          },
          "agreementId": {
            "minLength": 1,
            "type": "string",
            "description": "The agreement ID."
          },
          "agreementHash": {
            "minLength": 1,
            "type": "string",
            "description": "The agreement root hash."
          },
          "agreementUrl": {
            "minLength": 1,
            "type": "string",
            "description": "The agreement URL."
          },
          "version": {
            "minLength": 1,
            "type": "string",
            "description": "The agreement version."
          },
          "hash": {
            "minLength": 1,
            "type": "string",
            "description": "The accepted content hash."
          },
          "acceptedAtUtc": {
            "type": "string",
            "description": "When the agreement was accepted.",
            "format": "date-time",
            "nullable": true
          },
          "englishUrl": {
            "minLength": 1,
            "type": "string",
            "description": "The English document URL."
          },
          "germanUrl": {
            "minLength": 1,
            "type": "string",
            "description": "The German document URL."
          },
          "documents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LegalAgreementDocument"
            },
            "description": "The agreement documents."
          },
          "premiumPurchaseDeclaration": {
            "$ref": "#/components/schemas/LegalDeclaration"
          }
        },
        "additionalProperties": false,
        "description": "Represents the user's current agreement status."
      },
      "Tier": {
        "enum": [
          "UNKNOWN",
          "COMMON",
          "UNCOMMON",
          "RARE",
          "EPIC",
          "LEGENDARY",
          "SPECIAL",
          "VERY_SPECIAL",
          "MYTHIC",
          "DIVINE",
          "ULTIMATE"
        ],
        "type": "string"
      },
      "TierSlotAccess": {
        "required": [
          "canManage",
          "expires",
          "id",
          "version"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "ownerId": {
            "type": "string",
            "nullable": true
          },
          "tier": {
            "type": "string",
            "nullable": true
          },
          "expires": {
            "type": "string",
            "format": "date-time"
          },
          "assignedUserId": {
            "type": "string",
            "nullable": true
          },
          "minecraftUuid": {
            "type": "string",
            "nullable": true
          },
          "version": {
            "type": "integer",
            "format": "int64"
          },
          "canManage": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "TopUpArguments": {
        "required": [
          "coinAmount"
        ],
        "type": "object",
        "properties": {
          "coinAmount": {
            "type": "integer",
            "description": "A specific amount of coins to topup",
            "format": "int32"
          },
          "successUrl": {
            "type": "string",
            "description": "The url to redirect to after successful payment",
            "nullable": true
          },
          "cancelUrl": {
            "type": "string",
            "description": "The url to redirect to when user aborts payment",
            "nullable": true
          },
          "creatorCode": {
            "type": "string",
            "description": "An optional creator code to apply to the purchase",
            "nullable": true
          },
          "discountcode": {
            "type": "string",
            "description": "An optional discount code to apply to the purchase",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Additional arguments for a topup"
      },
      "TopUpIdResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "dirctLink": {
            "type": "string",
            "nullable": true,
            "deprecated": true
          },
          "directLink": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TopUpProduct": {
        "required": [
          "cost",
          "id",
          "ownershipSeconds",
          "price",
          "slotCount"
        ],
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/ProductType"
          },
          "price": {
            "type": "number",
            "format": "double"
          },
          "currencyCode": {
            "type": "string",
            "nullable": true
          },
          "providerSlug": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "cost": {
            "type": "number",
            "format": "double"
          },
          "ownershipSeconds": {
            "type": "integer",
            "format": "int64"
          },
          "slotCount": {
            "type": "integer",
            "format": "int32"
          },
          "slotTier": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TradeRequest": {
        "required": [
          "timestamp"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Gets or sets the unique identifier of the trade request.",
            "nullable": true
          },
          "playerUuid": {
            "type": "string",
            "description": "Gets or sets the player UUID initiating the trade.",
            "nullable": true
          },
          "playerName": {
            "type": "string",
            "description": "Gets or sets the player name.",
            "nullable": true
          },
          "buyerUuid": {
            "type": "string",
            "description": "Gets or sets the buyer UUID.",
            "nullable": true
          },
          "item": {
            "$ref": "#/components/schemas/Item"
          },
          "coins": {
            "type": "integer",
            "description": "The amount of coins the player wants to spend",
            "format": "int64",
            "nullable": true
          },
          "wantedItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WantedItem"
            },
            "description": "Gets or sets the list of wanted items in exchange.",
            "nullable": true
          },
          "timestamp": {
            "type": "string",
            "description": "Gets or sets the timestamp of the trade request.",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Represents a trade request with item and coin details."
      },
      "UuId": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "value": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ValidatedDiscount": {
        "required": [
          "amount",
          "durationInMonths",
          "isLimitedToProducts",
          "isSubscriptionOnly",
          "isValid"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "string",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "format": "double"
          },
          "amountType": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "isValid": {
            "type": "boolean"
          },
          "isLimitedToProducts": {
            "type": "boolean"
          },
          "isSubscriptionOnly": {
            "type": "boolean"
          },
          "duration": {
            "type": "string",
            "nullable": true
          },
          "durationInMonths": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "VisibilitySettings": {
        "required": [
          "avgSellTime",
          "copySuccessMessage",
          "cost",
          "estProfit",
          "extraFields",
          "hideManipulated",
          "hideSold",
          "lbin",
          "links",
          "lore",
          "medPrice",
          "profit",
          "profitPercent",
          "seller",
          "sellerOpenBtn",
          "slbin",
          "volume"
        ],
        "type": "object",
        "properties": {
          "cost": {
            "type": "boolean"
          },
          "estProfit": {
            "type": "boolean"
          },
          "lbin": {
            "type": "boolean"
          },
          "slbin": {
            "type": "boolean"
          },
          "medPrice": {
            "type": "boolean"
          },
          "seller": {
            "type": "boolean"
          },
          "volume": {
            "type": "boolean"
          },
          "extraFields": {
            "type": "integer",
            "format": "int32"
          },
          "avgSellTime": {
            "type": "boolean"
          },
          "profitPercent": {
            "type": "boolean"
          },
          "profit": {
            "type": "boolean"
          },
          "sellerOpenBtn": {
            "type": "boolean"
          },
          "lore": {
            "type": "boolean"
          },
          "links": {
            "type": "boolean"
          },
          "copySuccessMessage": {
            "type": "boolean"
          },
          "hideSold": {
            "type": "boolean"
          },
          "hideManipulated": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "VolumeBucket": {
        "required": [
          "avgPrice",
          "count",
          "maxPrice",
          "minPrice"
        ],
        "type": "object",
        "properties": {
          "minPrice": {
            "type": "integer",
            "format": "int64"
          },
          "maxPrice": {
            "type": "integer",
            "format": "int64"
          },
          "avgPrice": {
            "type": "integer",
            "format": "int64"
          },
          "count": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "WantedItem": {
        "type": "object",
        "properties": {
          "tag": {
            "type": "string",
            "description": "Gets or sets the tag.",
            "nullable": true
          },
          "itemName": {
            "type": "string",
            "description": "Gets or sets the item name.",
            "nullable": true
          },
          "filters": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "description": "Gets or sets the filters.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a wanted item."
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "apiKey",
        "description": "JWT Authorization header using the Bearer scheme. Example: \"Authorization: Bearer {token}\"",
        "name": "Authorization",
        "in": "header"
      },
      "GoogleToken": {
        "type": "apiKey",
        "description": "Google Token Authorization header. Example: \"GoogleToken: {token}\"",
        "name": "GoogleToken",
        "in": "header"
      }
    }
  },
  "tags": [
    {
      "name": "Auctions",
      "description": "Endpoints for retrieving information about auctions"
    },
    {
      "name": "Bazaar",
      "description": "Main API endpoints"
    },
    {
      "name": "Crafting",
      "description": "Endpoints for crafting related data"
    },
    {
      "name": "Data",
      "description": "Endpoints for collecting data"
    },
    {
      "name": "Filter"
    },
    {
      "name": "Flip",
      "description": "Endpoints for flips"
    },
    {
      "name": "Info",
      "description": "Providing general info about the project."
    },
    {
      "name": "Item",
      "description": "Endpoints about items"
    },
    {
      "name": "Kat",
      "description": "Endpoints for best pet to put into kat"
    },
    {
      "name": "Leaderboard",
      "description": "Provides leaderboard endpoints."
    },
    {
      "name": "Lowball",
      "description": "Lowball trade offers"
    },
    {
      "name": "Mayor",
      "description": "Endpoints for mayor history data"
    },
    {
      "name": "Minion",
      "description": "Ranks minions for a concrete situation: how long the player stays away, what they can spend, and\nhow they intend to sell. A single \"best minion\" list cannot answer any of those."
    },
    {
      "name": "Mod",
      "description": "Special endpoints for mods.\nReturns information about mod related things. e.g. available socket commands for a help text"
    },
    {
      "name": "Notification",
      "description": "Provides notification endpoints."
    },
    {
      "name": "Player",
      "description": "The playerController handles all player related endpoints."
    },
    {
      "name": "Premium",
      "description": "Endpoints for related to paid services"
    },
    {
      "name": "Prices",
      "description": "Endpoints for retrieving prices"
    },
    {
      "name": "Referral",
      "description": "Endpoints for related to paid services"
    },
    {
      "name": "Search",
      "description": "Main API endpoints"
    },
    {
      "name": "TierSlots",
      "description": "Manage purchased capacity without transferring billing ownership."
    },
    {
      "name": "Trade",
      "description": "Things related to item trading"
    },
    {
      "name": "User",
      "description": "Endpoints for flips"
    }
  ]
}