Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/mojang-textures-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
title: Mojang Session Server Textures API
description: Mojang's Yggdrasil session server (sessionserver.mojang.com) used in the Minecraft Java Edition login handshake. Exposes the canonical skin and cape texture lookup keyed by UUID, the client-side /join and server-side /hasJoined verification calls, and the SHA-1 blocked-server hash list.
version: 1.0.0
contact:
name: Mojang Studios
url: https://www.minecraft.net
license:
name: Mojang Brand and Asset Usage Guidelines
url: https://www.minecraft.net/en-us/usage-guidelines
x-generated-from: documentation
x-last-validated: '2026-05-30'
servers:
- url: https://sessionserver.mojang.com
description: Mojang Yggdrasil session server (production)
security: []
tags:
- name: Textures
description: Player skin and cape texture lookup
paths:
/session/minecraft/profile/{uuid}:
get:
operationId: getSessionProfile
summary: Get Session Profile (Skin and Cape)
description: Returns the player's session profile including the Base64-encoded textures property holding skin and cape URLs. Pass unsigned=false to receive a signed payload that includes Mojang's RSA signature.
tags:
- Textures
parameters:
- name: uuid
in: path
required: true
description: Player UUID (hyphenated or unhyphenated).
example: 853c80ef3c3749fdaa49938b674adae6
schema:
type: string
pattern: ^[0-9a-fA-F-]{32,36}$
- name: unsigned
in: query
required: false
description: Set to false to include the Mojang signature on each property. When omitted, properties are returned without signature.
example: false
schema:
type: boolean
responses:
'200':
description: Session profile with textures property.
content:
application/json:
schema:
$ref: '#/components/schemas/SessionProfile'
'204':
description: UUID has no matching profile.
'400':
description: UUID parameter is not a valid Minecraft UUID.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'429':
description: Rate limit exceeded (per-IP).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
components:
schemas:
Error:
type: object
description: Standard Mojang error envelope.
properties:
error:
type: string
description: Error class name.
example: ForbiddenOperationException
errorMessage:
type: string
description: Human-readable error description.
example: Invalid token.
cause:
type: string
description: Optional cause classification.
example: UserMigratedException
SessionProperty:
type: object
description: A single signed session-profile property (e.g. textures).
required:
- name
- value
properties:
name:
type: string
description: Property name (typically `textures`).
example: textures
value:
type: string
description: Base64-encoded JSON payload (skin / cape URLs and metadata).
example: ewogICJ0aW1lc3RhbXAiIDogMTcwMDAwMDAwMDAwMCwKICAicHJvZmlsZUlkIiA6IC4uLgp9
signature:
type: string
description: Mojang RSA signature of `value`. Present only when the request included `unsigned=false`.
example: a1b2c3d4...==
SessionProfile:
type: object
description: A signed session profile with textures and metadata properties.
required:
- id
- name
- properties
properties:
id:
type: string
description: Player UUID without hyphens.
example: 853c80ef3c3749fdaa49938b674adae6
name:
type: string
description: Player username.
example: jeb_
properties:
type: array
description: Signed property list (currently only `textures`).
items:
$ref: '#/components/schemas/SessionProperty'
profileActions:
type: array
description: Sanctions or actions Mojang has taken on the profile.
items:
type: string
example: FORCED_NAME_CHANGE
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: Minecraft access token (used in /join request body, not as a header).