turtle-wow-source-kinda/Dumps/Source Code/8 - Development_website/develop/storage/api-docs/api-docs.json
Brian Oost a1d5bb70b2 Init
2024-08-06 18:06:40 +02:00

1210 lines
51 KiB
JSON

{
"openapi": "3.0.0",
"info": {
"title": "Turtle WoW API",
"version": "0.1"
},
"paths": {
"/api/characters/population": {
"get": {
"tags": [
"Character"
],
"summary": "Get population statistics",
"operationId": "getPopulationStatistics",
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"properties": {
"week_name": {
"type": "string"
},
"year": {
"type": "integer"
},
"week": {
"type": "integer"
},
"m_a": {
"type": "integer"
},
"m_h": {
"type": "integer"
},
"date_nice": {
"type": "string"
}
},
"type": "object"
}
}
}
}
},
"500": {
"description": "Server error"
}
}
}
},
"/api/characters/online": {
"get": {
"tags": [
"Character"
],
"summary": "Get online characters",
"description": "Returns a list of online characters excluding GM accounts",
"operationId": "getOnlineCharacters",
"parameters": [
{
"name": "per_page",
"in": "query",
"description": "Number of results per page",
"required": false,
"schema": {
"type": "integer",
"default": 15
}
},
{
"name": "page",
"in": "query",
"description": "Page number",
"required": false,
"schema": {
"type": "integer",
"default": 1
}
}
],
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"properties": {
"current_page": {
"description": "Current page number",
"type": "integer"
},
"data": {
"type": "array",
"items": {
"properties": {
"guid": {
"description": "Character's GUID",
"type": "integer"
},
"name": {
"description": "Character's name",
"type": "string"
},
"race": {
"description": "Character's race",
"type": "integer"
},
"class": {
"description": "Character's class",
"type": "integer"
},
"gender": {
"description": "Character's gender",
"type": "integer"
},
"level": {
"description": "Character's level",
"type": "integer"
},
"map": {
"description": "Character's map",
"type": "integer"
},
"zone": {
"description": "Character's zone",
"type": "integer"
},
"guildId": {
"description": "Character's guild ID",
"type": "integer"
},
"guildName": {
"description": "Character's guild name",
"type": "string"
}
},
"type": "object"
}
},
"first_page_url": {
"description": "URL of the first page",
"type": "string"
},
"from": {
"description": "Index of the first item in the current page",
"type": "integer"
},
"last_page": {
"description": "Last page number",
"type": "integer"
},
"last_page_url": {
"description": "URL of the last page",
"type": "string"
},
"links": {
"description": "Pagination links",
"type": "array",
"items": {
"properties": {
"url": {
"description": "URL of the page",
"type": "string"
},
"label": {
"description": "Label of the link",
"type": "string"
},
"active": {
"description": "Is the link active",
"type": "boolean"
}
},
"type": "object"
}
},
"next_page_url": {
"description": "URL of the next page",
"type": "string"
},
"path": {
"description": "URL path of the current page",
"type": "string"
},
"per_page": {
"description": "Number of results per page",
"type": "integer"
},
"prev_page_url": {
"description": "URL of the previous page",
"type": "string"
},
"to": {
"description": "Index of the last item in the current page",
"type": "integer"
},
"total": {
"description": "Total number of results",
"type": "integer"
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Server error"
}
}
}
},
"/api/characters/stats": {
"get": {
"tags": [
"Character"
],
"summary": "Get character statistics",
"description": "Returns statistics for characters",
"operationId": "getStats",
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"properties": {
"current_page": {
"description": "Current page number",
"type": "integer"
},
"data": {
"type": "array",
"items": {
"properties": {
"race": {
"description": "Character's race",
"type": "integer"
},
"class": {
"description": "Character's class",
"type": "integer"
},
"level": {
"description": "Character's level",
"type": "integer"
}
},
"type": "object"
}
},
"first_page_url": {
"description": "URL of the first page",
"type": "string"
},
"from": {
"description": "Index of the first item in the current page",
"type": "integer"
},
"last_page": {
"description": "Last page number",
"type": "integer"
},
"last_page_url": {
"description": "URL of the last page",
"type": "string"
},
"links": {
"description": "Pagination links",
"type": "array",
"items": {
"properties": {
"url": {
"description": "URL of the page",
"type": "string"
},
"label": {
"description": "Label of the link",
"type": "string"
},
"active": {
"description": "Is the link active",
"type": "boolean"
}
},
"type": "object"
}
},
"next_page_url": {
"description": "URL of the next page",
"type": "string"
},
"path": {
"description": "URL path of the current page",
"type": "string"
},
"per_page": {
"description": "Number of results per page",
"type": "integer"
},
"prev_page_url": {
"description": "URL of the previous page",
"type": "string"
},
"to": {
"description": "Index of the last item in the current page",
"type": "integer"
},
"total": {
"description": "Total number of results",
"type": "integer"
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Server error"
}
}
}
},
"/api/characters/hardcore/stats": {
"get": {
"tags": [
"Character"
],
"summary": "Get character hardcore stats",
"description": "Retrieve character hardcore stats with filtering and pagination.",
"operationId": "getCharacterHardcoreStats",
"parameters": [
{
"name": "per_page",
"in": "query",
"description": "Number of results per page",
"required": false,
"schema": {
"type": "integer",
"default": 15
}
},
{
"name": "page",
"in": "query",
"description": "Page number",
"required": false,
"schema": {
"type": "integer",
"default": 1
}
},
{
"name": "mortality_status",
"in": "query",
"description": "Filter by character's hardcore status (1, 2, or 3)",
"required": false,
"style": "form",
"explode": true,
"schema": {
"type": "array",
"items": {
"type": "integer",
"enum": [
1,
2,
3
]
}
}
}
],
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"properties": {
"current_page": {
"description": "Current page number",
"type": "integer"
},
"data": {
"type": "array",
"items": {
"properties": {
"name": {
"description": "Character's name",
"type": "string"
},
"race": {
"description": "Character's race",
"type": "string",
"enum": [
"Human",
"Orc",
"Dwarf",
"Nightelf",
"Undead",
"Tauren",
"Gnome",
"Troll",
"Goblin",
"Highelf"
]
},
"class": {
"description": "Character's class",
"type": "string",
"enum": [
"Warrior",
"Paladin",
"Hunter",
"Rogue",
"Priest",
"Shaman",
"Mage",
"Warlock",
"Druid"
]
},
"gender": {
"description": "Character's gender",
"type": "string"
},
"mortality_status": {
"description": "Character's hardcore status",
"type": "integer"
},
"level": {
"description": "Character's level",
"type": "integer"
},
"percent": {
"description": "Character's level percent",
"type": "number"
},
"logout_time": {
"description": "Character's logout last time",
"type": "string"
}
},
"type": "object"
}
},
"first_page_url": {
"description": "URL of the first page",
"type": "string"
},
"from": {
"description": "Index of the first item in the current page",
"type": "integer"
},
"last_page": {
"description": "Last page number",
"type": "integer"
},
"last_page_url": {
"description": "URL of the last page",
"type": "string"
},
"links": {
"description": "Pagination links",
"type": "array",
"items": {
"properties": {
"url": {
"description": "URL of the page",
"type": "string"
},
"label": {
"description": "Label of the link",
"type": "string"
},
"active": {
"description": "Is the link active",
"type": "boolean"
}
},
"type": "object"
}
},
"next_page_url": {
"description": "URL of the next page",
"type": "string"
},
"path": {
"description": "URL path of the current page",
"type": "string"
},
"per_page": {
"description": "Number of results per page",
"type": "integer"
},
"prev_page_url": {
"description": "URL of the previous page",
"type": "string"
},
"to": {
"description": "Index of the last item in the current page",
"type": "integer"
},
"total": {
"description": "Total number of results",
"type": "integer"
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Server error"
}
}
}
}
},
"components": {
"schemas": {
"Account": {
"title": "Account",
"description": "Account model",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"username": {
"type": "string"
},
"sha_pass_hash": {
"type": "string"
},
"rank": {
"type": "integer",
"format": "int32"
},
"sessionkey": {
"type": "string"
},
"v": {
"type": "string"
},
"s": {
"type": "string"
},
"email": {
"type": "string"
},
"joindate": {
"type": "string",
"format": "date-time"
},
"tfa_verif": {
"type": "string"
},
"last_ip": {
"type": "string"
},
"last_local_ip": {
"type": "string"
},
"failed_logins": {
"type": "integer",
"format": "int32"
},
"locked": {
"type": "integer",
"format": "int32"
},
"last_login": {
"type": "string",
"format": "date-time"
},
"online": {
"type": "integer",
"format": "int32"
},
"expansion": {
"type": "integer",
"format": "int32"
},
"mutetime": {
"type": "integer",
"format": "int64"
},
"mutereason": {
"type": "string"
},
"muteby": {
"type": "string"
},
"locale": {
"type": "integer",
"format": "int32"
},
"os": {
"type": "string"
},
"platform": {
"type": "string"
},
"current_realm": {
"type": "integer",
"format": "int32"
},
"banned": {
"type": "integer",
"format": "int32"
},
"flags": {
"type": "integer",
"format": "int32"
},
"security": {
"type": "string"
},
"pass_verif": {
"type": "string"
},
"email_verif": {
"type": "integer",
"format": "int32"
},
"forum_username": {
"type": "string"
},
"token_key": {
"type": "string"
},
"email_keyword": {
"type": "string"
},
"email_status": {
"type": "integer",
"format": "int32"
},
"email_sub": {
"type": "integer",
"format": "int32"
},
"comments": {
"type": "string"
},
"geolock_pin": {
"type": "integer",
"format": "int32"
}
},
"type": "object"
},
"AccountAccess": {
"title": "AccountAccess",
"description": "AccountAccess model",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"gmlevel": {
"type": "integer",
"format": "int32"
},
"RealmID": {
"type": "integer",
"format": "int32"
},
"name": {
"type": "string"
}
},
"type": "object"
},
"StatisticsOnline": {
"title": "StatisticsOnline",
"description": "StatisticsOnline model",
"properties": {
"guid": {
"type": "integer"
},
"online": {
"type": "integer"
},
"online_alli": {
"type": "integer"
},
"online_horde": {
"type": "integer"
},
"connections": {
"type": "integer"
},
"realm": {
"type": "integer"
},
"date": {
"type": "integer"
}
},
"type": "object"
},
"Character": {
"title": "Character",
"description": "Character model",
"properties": {
"guid": {
"type": "integer",
"format": "int32"
},
"account": {
"type": "integer",
"format": "int32"
},
"name": {
"type": "string"
},
"race": {
"type": "integer",
"format": "int32"
},
"class": {
"type": "integer",
"format": "int32"
},
"gender": {
"type": "integer",
"format": "int32"
},
"level": {
"type": "integer",
"format": "int32"
},
"xp": {
"type": "integer",
"format": "int32"
},
"money": {
"type": "integer",
"format": "int32"
},
"playerBytes": {
"type": "integer",
"format": "int32"
},
"playerBytes2": {
"type": "integer",
"format": "int32"
},
"playerFlags": {
"type": "integer",
"format": "int32"
},
"position_x": {
"type": "number",
"format": "float"
},
"position_y": {
"type": "number",
"format": "float"
},
"position_z": {
"type": "number",
"format": "float"
},
"map": {
"type": "integer",
"format": "int32"
},
"orientation": {
"type": "number",
"format": "float"
},
"taximask": {
"type": "string"
},
"online": {
"type": "integer",
"format": "int32"
},
"cinematic": {
"type": "integer",
"format": "int32"
},
"totaltime": {
"type": "integer",
"format": "int32"
},
"leveltime": {
"type": "integer",
"format": "int32"
},
"logout_time": {
"type": "integer",
"format": "int64"
},
"is_logout_resting": {
"type": "integer",
"format": "int32"
},
"rest_bonus": {
"type": "number",
"format": "float"
},
"resettalents_multiplier": {
"type": "integer",
"format": "int32"
},
"resettalents_time": {
"type": "integer",
"format": "int64"
},
"trans_x": {
"type": "number",
"format": "float"
},
"trans_y": {
"type": "number",
"format": "float"
},
"trans_z": {
"type": "number",
"format": "float"
},
"trans_o": {
"type": "number",
"format": "float"
},
"transguid": {
"type": "integer",
"format": "int64"
},
"extra_flags": {
"type": "integer",
"format": "int32"
},
"stable_slots": {
"type": "integer",
"format": "int32"
},
"at_login": {
"type": "integer",
"format": "int32"
},
"zone": {
"type": "integer",
"format": "int32"
},
"death_expire_time": {
"type": "integer",
"format": "int64"
},
"taxi_path": {
"type": "string"
},
"honorRankPoints": {
"type": "number",
"format": "float"
},
"honorHighestRank": {
"type": "integer",
"format": "int32"
},
"honorStanding": {
"type": "integer",
"format": "int32"
},
"honorLastWeekHK": {
"type": "integer",
"format": "int32"
},
"honorLastWeekCP": {
"type": "number",
"format": "float"
},
"honorStoredHK": {
"type": "integer",
"format": "int32"
},
"honorStoredDK": {
"type": "integer",
"format": "int32"
},
"watchedFaction": {
"type": "integer",
"format": "int32"
},
"drunk": {
"type": "integer",
"format": "int32"
},
"health": {
"type": "integer",
"format": "int32"
},
"power1": {
"type": "integer",
"format": "int32"
},
"power2": {
"type": "integer",
"format": "int32"
},
"power3": {
"type": "integer",
"format": "int32"
},
"power4": {
"type": "integer",
"format": "int32"
},
"power5": {
"type": "integer",
"format": "int32"
},
"exploredZones": {
"type": "string"
},
"equipmentCache": {
"type": "string"
},
"ammoId": {
"type": "integer",
"format": "int32"
},
"actionBars": {
"type": "integer",
"format": "int32"
},
"deleteInfos_Account": {
"type": "integer",
"format": "int32"
},
"deleteInfos_Name": {
"type": "string"
},
"deleteDate": {
"type": "integer",
"format": "int64"
},
"area": {
"type": "integer",
"format": "int32"
},
"world_phase_mask": {
"type": "integer",
"format": "int32"
},
"customFlags": {
"type": "integer",
"format": "int32"
},
"city_protector": {
"type": "integer",
"format": "int32"
},
"regexFilterCount": {
"type": "integer",
"format": "int32"
},
"isGMCharacter": {
"type": "integer",
"format": "int32"
},
"ignore_titles": {
"type": "integer",
"format": "int32"
},
"mortality_status": {
"type": "integer",
"format": "int32"
},
"total_deaths": {
"type": "integer",
"format": "int32"
},
"xp_gain": {
"type": "integer",
"format": "int32"
}
},
"type": "object"
},
"GmTicket": {
"title": "GmTicket",
"description": "GmTicket model",
"properties": {
"ticketId": {
"type": "integer",
"format": "int32"
},
"guid": {
"type": "integer",
"format": "int32"
},
"name": {
"type": "string"
},
"message": {
"type": "string"
},
"createTime": {
"type": "integer",
"format": "int32"
},
"mapId": {
"type": "integer",
"format": "int32"
},
"posX": {
"type": "number",
"format": "float"
},
"posY": {
"type": "number",
"format": "float"
},
"posZ": {
"type": "number",
"format": "float"
},
"lastModifiedTime": {
"type": "integer",
"format": "int32"
},
"closedBy": {
"type": "integer",
"format": "int32"
},
"assignedTo": {
"type": "integer",
"format": "int32"
},
"comment": {
"type": "string"
},
"response": {
"type": "string"
},
"completed": {
"type": "integer",
"format": "int32"
},
"escalated": {
"type": "integer",
"format": "int32"
},
"viewed": {
"type": "integer",
"format": "int32"
},
"haveTicket": {
"type": "number",
"format": "float"
},
"ticketType": {
"type": "integer",
"format": "int32"
},
"securityNeeded": {
"type": "integer",
"format": "int32"
}
},
"type": "object"
},
"Guild": {
"title": "Guild",
"description": "Guild model",
"properties": {
"guildid": {
"type": "integer",
"format": "int32"
},
"name": {
"type": "string"
},
"leaderguid": {
"type": "integer",
"format": "int32"
},
"EmblemStyle": {
"type": "integer",
"format": "int32"
},
"EmblemColor": {
"type": "integer",
"format": "int32"
},
"BorderStyle": {
"type": "integer",
"format": "int32"
},
"BorderColor": {
"type": "integer",
"format": "int32"
},
"BackgroundColor": {
"type": "integer",
"format": "int32"
},
"info": {
"type": "string"
},
"motd": {
"type": "string"
},
"createdate": {
"type": "integer",
"format": "int64"
}
},
"type": "object"
},
"GuildMember": {
"title": "GuildMember",
"description": "GuildMember model",
"properties": {
"guildid": {
"type": "integer",
"format": "int32"
},
"guid": {
"type": "integer",
"format": "int32"
},
"rank": {
"type": "integer",
"format": "int32"
},
"pnote": {
"type": "string"
},
"offnote": {
"type": "string"
}
},
"type": "object"
},
"HardcoreDeath": {
"title": "HardcoreDeath",
"description": "HardcoreDeath model",
"properties": {
"lowGuid": {
"description": "Character's low GUID",
"type": "integer"
},
"race": {
"description": "Character's race",
"type": "integer"
},
"class": {
"description": "Character's class",
"type": "integer"
},
"level": {
"description": "Character's level",
"type": "integer"
},
"attackerEntry": {
"description": "Attacker's entry",
"type": "integer"
},
"position_x": {
"description": "Position X",
"type": "number",
"format": "float"
},
"position_y": {
"description": "Position Y",
"type": "number",
"format": "float"
},
"position_z": {
"description": "Position Z",
"type": "number",
"format": "float"
},
"mapId": {
"description": "Map ID",
"type": "integer"
}
},
"type": "object"
},
"PlayerXpForLevel": {
"title": "PlayerXpForLevel",
"description": "PlayerXpForLevel model",
"properties": {
"lvl": {
"description": "Character's level",
"type": "integer"
},
"xp_for_next_level": {
"description": "Experience points required for the next level",
"type": "integer"
}
},
"type": "object"
}
}
}
}