Files
2024-03-12 00:35:02 -07:00

573 lines
17 KiB
YAML

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: []