839 lines
23 KiB
JSON
839 lines
23 KiB
JSON
{
|
|
"components": {
|
|
"responses": {},
|
|
"schemas": {
|
|
"ConvertedSkin": {
|
|
"description": "Data representing a skin that has been converted and uploaded to Java Edition",
|
|
"properties": {
|
|
"hash": {
|
|
"description": "The hash of the skin bytes",
|
|
"type": "string"
|
|
},
|
|
"is_steve": {
|
|
"description": "If the skin is a Steve or an Alex",
|
|
"type": "boolean"
|
|
},
|
|
"signature": {
|
|
"description": "The signature of the skin data used by Minecraft",
|
|
"type": "string"
|
|
},
|
|
"texture_id": {
|
|
"description": "The texture id used by Minecraft",
|
|
"type": "string"
|
|
},
|
|
"value": {
|
|
"description": "The value of the skin data used by Minecraft",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"hash",
|
|
"texture_id",
|
|
"value",
|
|
"singature",
|
|
"is_steve"
|
|
],
|
|
"title": "ConvertedSkin",
|
|
"type": "object"
|
|
},
|
|
"Error": {
|
|
"description": "Generic format for pretty much every error",
|
|
"required": [
|
|
"message"
|
|
],
|
|
"properties": {
|
|
"message": {
|
|
"description": "The error message",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"title": "Error",
|
|
"type": "object"
|
|
},
|
|
"Link": {
|
|
"description": "A link between a Java and a Bedrock account",
|
|
"properties": {
|
|
"bedrock_id": {
|
|
"description": "xuid of the Bedrock player",
|
|
"example": 2535432196048835,
|
|
"format": "int64",
|
|
"type": "integer"
|
|
},
|
|
"java_id": {
|
|
"description": "UUID of the Java player",
|
|
"example": "d34eb447-6e90-4c78-9281-600df88aef1d",
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"java_name": {
|
|
"description": "Username of the Java player",
|
|
"example": "Tim203",
|
|
"type": "string"
|
|
},
|
|
"last_name_update": {
|
|
"description": "Unix millis of the last Java name update check",
|
|
"format": "int64",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"bedrock_id",
|
|
"java_id",
|
|
"java_name",
|
|
"last_name_update"
|
|
],
|
|
"title": "Link",
|
|
"type": "object"
|
|
},
|
|
"LinkList": {
|
|
"description": "Response schema for a list of links",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Link"
|
|
},
|
|
"title": "LinkList",
|
|
"type": "array"
|
|
},
|
|
"RecentConvertedSkinList": {
|
|
"description": "List of most recently converted skins. Ordered by most recently converted",
|
|
"properties": {
|
|
"data": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/RecentConvertedSkinReference"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"total_pages": {
|
|
"description": "The amount of pages available",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"title": "RecentConvertedSkinList",
|
|
"type": "object"
|
|
},
|
|
"RecentConvertedSkinReference": {
|
|
"description": "The most basic info required to show a Java skin on the site",
|
|
"properties": {
|
|
"id": {
|
|
"description": "The converted skin id",
|
|
"type": "integer"
|
|
},
|
|
"texture_id": {
|
|
"description": "The texture id used by Minecraft",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"texture_id"
|
|
],
|
|
"title": "RecentConvertedSkinReference",
|
|
"type": "object"
|
|
},
|
|
"Statistics": {
|
|
"description": "All publicly available statistics",
|
|
"properties": {
|
|
"pre_upload_queue": {
|
|
"properties": {
|
|
"length": {
|
|
"description": "The amount of skins in the pre-upload queue",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"upload_queue": {
|
|
"properties": {
|
|
"estimated_duration": {
|
|
"description": "Estimated duration to upload 'length' amount of skins",
|
|
"format": "decimal",
|
|
"type": "number"
|
|
},
|
|
"length": {
|
|
"description": "The amount of skins in the upload queue",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
},
|
|
"title": "Statistics",
|
|
"type": "object"
|
|
},
|
|
"UsernameProfile": {
|
|
"description": "Username to Floodgate UUID in Mojang Minecraft profile format",
|
|
"properties": {
|
|
"id": {
|
|
"description": "The Floodgate UUID of the Bedrock player",
|
|
"example": "0000000000000000000901f64f65c7c3",
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"description": "The Floodgate username",
|
|
"example": ".Tim203",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name"
|
|
],
|
|
"title": "UsernameProfile",
|
|
"type": "object"
|
|
},
|
|
"XboxGamertagResult": {
|
|
"description": "Get gamertag from xuid result",
|
|
"required": [
|
|
"gamertag"
|
|
],
|
|
"properties": {
|
|
"gamertag": {
|
|
"description": "The gamertag",
|
|
"example": "Tim203",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"title": "XboxGamertagResult",
|
|
"type": "object"
|
|
},
|
|
"XboxXuidResult": {
|
|
"description": "Get xuid from gamertag result",
|
|
"required": [
|
|
"xuid"
|
|
],
|
|
"properties": {
|
|
"xuid": {
|
|
"description": "The xuid",
|
|
"example": 2535432196048835,
|
|
"format": "int64",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"title": "XboxXuidResult",
|
|
"type": "object"
|
|
}
|
|
}
|
|
},
|
|
"info": {
|
|
"title": "Global Api",
|
|
"version": "1.0.2"
|
|
},
|
|
"openapi": "3.0.0",
|
|
"paths": {
|
|
"/health": {
|
|
"get": {
|
|
"callbacks": {},
|
|
"operationId": "GlobalApiWeb.Api.HealthController.health",
|
|
"parameters": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": "The server is online"
|
|
}
|
|
},
|
|
"summary": "Simple server online check",
|
|
"tags": [
|
|
"health"
|
|
]
|
|
}
|
|
},
|
|
"/render/front/{texture_id}": {
|
|
"get": {
|
|
"operationId": "GlobalApiWeb.Api.RenderController.get_front_texture",
|
|
"parameters": [
|
|
{
|
|
"description": "Java texture id",
|
|
"example": "a90790c57e181ed13aded14c47ee2f7c8de3533e017ba957af7bdf9df1bde94f",
|
|
"in": "path",
|
|
"name": "texture_id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "ok"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/render/raw/{texture_id}": {
|
|
"get": {
|
|
"operationId": "GlobalApiWeb.Api.RenderController.get_raw_texture",
|
|
"parameters": [
|
|
{
|
|
"description": "Java texture id",
|
|
"example": "a90790c57e181ed13aded14c47ee2f7c8de3533e017ba957af7bdf9df1bde94f",
|
|
"in": "path",
|
|
"name": "texture_id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "ok"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/link/bedrock/{xuid}": {
|
|
"get": {
|
|
"callbacks": {},
|
|
"deprecated": true,
|
|
"operationId": "GlobalApiWeb.Api.LinkController.get_bedrock_link_v1",
|
|
"parameters": [
|
|
{
|
|
"description": "Bedrock xuid",
|
|
"example": "2535432196048835",
|
|
"in": "path",
|
|
"name": "xuid",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"400": {
|
|
"description": "Deprecated"
|
|
}
|
|
},
|
|
"tags": [
|
|
"link"
|
|
]
|
|
}
|
|
},
|
|
"/v1/link/java/{uuid}": {
|
|
"get": {
|
|
"callbacks": {},
|
|
"deprecated": true,
|
|
"operationId": "GlobalApiWeb.Api.LinkController.get_java_link_v1",
|
|
"parameters": [
|
|
{
|
|
"description": "Java UUID",
|
|
"example": "d34eb447-6e90-4c78-9281-600df88aef1d",
|
|
"in": "path",
|
|
"name": "uuid",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"400": {
|
|
"description": "Deprecated"
|
|
}
|
|
},
|
|
"tags": [
|
|
"link"
|
|
]
|
|
}
|
|
},
|
|
"/v1/stats": {
|
|
"get": {
|
|
"callbacks": {},
|
|
"operationId": "GlobalApiWeb.Api.StatsController.get_all_stats",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Statistics"
|
|
}
|
|
}
|
|
},
|
|
"description": "Statistics"
|
|
}
|
|
},
|
|
"summary": "Get all publicly available Global Api statistics",
|
|
"tags": [
|
|
"stats"
|
|
]
|
|
}
|
|
},
|
|
"/v1/xbox/gamertag/{xuid}": {
|
|
"get": {
|
|
"callbacks": {},
|
|
"deprecated": true,
|
|
"operationId": "GlobalApiWeb.Api.XboxController.get_gamertag_v1",
|
|
"parameters": [
|
|
{
|
|
"description": "Bedrock xuid",
|
|
"example": "2535432196048835",
|
|
"in": "path",
|
|
"name": "xuid",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"400": {
|
|
"description": "Deprecated"
|
|
}
|
|
},
|
|
"tags": [
|
|
"xbox"
|
|
]
|
|
}
|
|
},
|
|
"/v1/xbox/xuid/{gamertag}": {
|
|
"get": {
|
|
"callbacks": {},
|
|
"deprecated": true,
|
|
"operationId": "GlobalApiWeb.Api.XboxController.get_xuid_v1",
|
|
"parameters": [
|
|
{
|
|
"description": "The gamertag of the Bedrock player",
|
|
"in": "path",
|
|
"name": "gamertag",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"400": {
|
|
"description": "Deprecated"
|
|
}
|
|
},
|
|
"tags": [
|
|
"xbox"
|
|
]
|
|
}
|
|
},
|
|
"/v2/admin/xbox/token": {},
|
|
"/v2/link/bedrock/{xuid}": {
|
|
"get": {
|
|
"callbacks": {},
|
|
"operationId": "GlobalApiWeb.Api.LinkController.get_bedrock_link_v2",
|
|
"parameters": [
|
|
{
|
|
"description": "Bedrock xuid",
|
|
"example": "2535432196048835",
|
|
"in": "path",
|
|
"name": "xuid",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Link"
|
|
}
|
|
}
|
|
},
|
|
"description": "Linked accounts or an empty object if there is no account linked"
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Error"
|
|
}
|
|
}
|
|
},
|
|
"description": "No xuid provided or invalid"
|
|
}
|
|
},
|
|
"summary": "Get linked Java account from Bedrock xuid",
|
|
"tags": [
|
|
"link"
|
|
]
|
|
}
|
|
},
|
|
"/v2/link/java/{uuid}": {
|
|
"get": {
|
|
"callbacks": {},
|
|
"operationId": "GlobalApiWeb.Api.LinkController.get_java_link_v2",
|
|
"parameters": [
|
|
{
|
|
"description": "Java UUID",
|
|
"example": "d34eb447-6e90-4c78-9281-600df88aef1d",
|
|
"in": "path",
|
|
"name": "uuid",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/LinkList"
|
|
}
|
|
}
|
|
},
|
|
"description": "Linked account or an empty object if there is no account linked"
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Error"
|
|
}
|
|
}
|
|
},
|
|
"description": "No UUID provided or invalid"
|
|
}
|
|
},
|
|
"summary": "Get linked Bedrock account from Java UUID",
|
|
"tags": [
|
|
"link"
|
|
]
|
|
}
|
|
},
|
|
"/v2/link/online": {},
|
|
"/v2/skin/bedrock/recent/{page}": {
|
|
"get": {
|
|
"callbacks": {},
|
|
"operationId": "GlobalApiWeb.Api.SkinController.get_recent_uploads.page",
|
|
"parameters": [
|
|
{
|
|
"description": "Number between 1 - page limit. Defaults to 1",
|
|
"example": 1,
|
|
"in": "path",
|
|
"name": "page",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RecentConvertedSkinList"
|
|
}
|
|
}
|
|
},
|
|
"description": "The most recently uploaded skins. First element has been uploaded most recently etc."
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Error"
|
|
}
|
|
}
|
|
},
|
|
"description": "Invalid page number (e.g. negative, decimal, too large)"
|
|
}
|
|
},
|
|
"summary": "Get a list of the most recently uploaded skins",
|
|
"tags": [
|
|
"skin"
|
|
]
|
|
}
|
|
},
|
|
"/v2/skin/bedrock/recent": {
|
|
"get": {
|
|
"callbacks": {},
|
|
"operationId": "GlobalApiWeb.Api.SkinController.get_recent_uploads",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RecentConvertedSkinList"
|
|
}
|
|
}
|
|
},
|
|
"description": "The most recently uploaded skins. First element has been uploaded most recently etc."
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Error"
|
|
}
|
|
}
|
|
},
|
|
"description": "Invalid page number (e.g. negative, decimal, too large)"
|
|
}
|
|
},
|
|
"summary": "Get a list of the most recently uploaded skins",
|
|
"tags": [
|
|
"skin"
|
|
]
|
|
}
|
|
},
|
|
"/v2/skin/{xuid}": {
|
|
"get": {
|
|
"callbacks": {},
|
|
"operationId": "GlobalApiWeb.Api.SkinController.get_skin",
|
|
"parameters": [
|
|
{
|
|
"description": "Bedrock xuid",
|
|
"example": "2535432196048835",
|
|
"in": "path",
|
|
"name": "xuid",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ConvertedSkin"
|
|
}
|
|
}
|
|
},
|
|
"description": "Converted skin or an empty object if there is no skin stored for that player"
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Error"
|
|
}
|
|
}
|
|
},
|
|
"description": "Invalid xuid (not an int)"
|
|
}
|
|
},
|
|
"summary": "Get the most recently converted skin of a Bedrock player",
|
|
"tags": [
|
|
"skin"
|
|
]
|
|
}
|
|
},
|
|
"/v2/stats": {
|
|
"get": {
|
|
"callbacks": {},
|
|
"operationId": "GlobalApiWeb.Api.StatsController.get_all_stats (2)",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Statistics"
|
|
}
|
|
}
|
|
},
|
|
"description": "Statistics"
|
|
}
|
|
},
|
|
"summary": "Get all publicly available Global Api statistics",
|
|
"tags": [
|
|
"stats"
|
|
]
|
|
}
|
|
},
|
|
"/v2/utils/uuid/bedrock_or_java/{username}": {
|
|
"get": {
|
|
"callbacks": {},
|
|
"operationId": "GlobalApiWeb.Api.UtilsController.get_bedrock_or_java_uuid",
|
|
"parameters": [
|
|
{
|
|
"description": "The username of the Minecraft player",
|
|
"examples": {
|
|
"bedrock": {
|
|
"value": ".Tim203"
|
|
},
|
|
"java": {
|
|
"value": "Tim203"
|
|
}
|
|
},
|
|
"in": "path",
|
|
"name": "username",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"description": "The prefix used in your Floodgate config",
|
|
"example": ".",
|
|
"in": "query",
|
|
"name": "prefix",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UsernameProfile"
|
|
}
|
|
}
|
|
},
|
|
"description": "The Bedrock xuid in Floodgate UUID format and username. Response made to be identical to the Mojang endpoint"
|
|
},
|
|
"204": {
|
|
"description": "Either the gamertag is too long or too short once the prefix was removed or there is no Xbox account registered to the gamertag"
|
|
},
|
|
"302": {
|
|
"description": "The player is a Java player and we'll redirect you to the Mojang endpoint for that username"
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Error"
|
|
}
|
|
}
|
|
},
|
|
"description": "Invalid prefix (no prefix, empty or too long)"
|
|
},
|
|
"503": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Error"
|
|
}
|
|
}
|
|
},
|
|
"description": "The requested account was not cached and we were not able to call the Xbox Live API (rate limited / not setup)"
|
|
}
|
|
},
|
|
"summary": "Utility endpoint to get either a Java UUID or a Bedrock xuid",
|
|
"tags": [
|
|
"utils"
|
|
]
|
|
}
|
|
},
|
|
"/v2/xbox/batch/gamertag": {},
|
|
"/v2/xbox/gamertag/{xuid}": {
|
|
"get": {
|
|
"callbacks": {},
|
|
"operationId": "GlobalApiWeb.Api.XboxController.get_gamertag_v2",
|
|
"parameters": [
|
|
{
|
|
"description": "The xuid of the Bedrock player",
|
|
"in": "path",
|
|
"name": "xuid",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/XboxGamertagResult"
|
|
}
|
|
}
|
|
},
|
|
"description": "The gamertag associated with the xuid or an empty object if there is account with the given xuid"
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Error"
|
|
}
|
|
}
|
|
},
|
|
"description": "The xuid is invalid (not an int)"
|
|
},
|
|
"503": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Error"
|
|
}
|
|
}
|
|
},
|
|
"description": "The requested account was not cached and we were not able to call the Xbox Live API (rate limited / not setup)"
|
|
}
|
|
},
|
|
"summary": "Get the gamertag from a xuid",
|
|
"tags": [
|
|
"xbox"
|
|
]
|
|
}
|
|
},
|
|
"/v2/xbox/xuid/{gamertag}": {
|
|
"get": {
|
|
"callbacks": {},
|
|
"operationId": "GlobalApiWeb.Api.XboxController.get_xuid_v2",
|
|
"parameters": [
|
|
{
|
|
"description": "The gamertag of the Bedrock player",
|
|
"in": "path",
|
|
"name": "gamertag",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/XboxXuidResult"
|
|
}
|
|
}
|
|
},
|
|
"description": "The xuid associated with the gamertag or an empty object if there is account with the given gamertag"
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Error"
|
|
}
|
|
}
|
|
},
|
|
"description": "The gamertag is invalid (empty or longer than 16 chars)"
|
|
},
|
|
"503": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Error"
|
|
}
|
|
}
|
|
},
|
|
"description": "The requested account was not cached and we were not able to call the Xbox Live API (rate limited / not setup)"
|
|
}
|
|
},
|
|
"summary": "Get the xuid from a gamertag",
|
|
"tags": [
|
|
"xbox"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"security": [],
|
|
"servers": [
|
|
{
|
|
"url": "https://api.geysermc.org",
|
|
"variables": {}
|
|
}
|
|
],
|
|
"tags": []
|
|
} |