# Minecraft accounts

People can link their Minecraft: Java Edition accounts to AlloyMC and show them on their profile with their skin.

## Find the profile behind a player

Got a player's UUID, from your server or Mojang's API? Ask who they are on AlloyMC:

```bash
curl https://api.alloymc.dev/v1/minecraft/069a79f444e94726a5befca90e38aaf5
```

```json
{
  "uuid": "069a79f444e94726a5befca90e38aaf5",
  "name": "Notch",
  "slim": false,
  "headUrl": "https://api.alloymc.dev/v1/minecraft/069a79f444e94726a5befca90e38aaf5/head.png",
  "bodyUrl": "https://api.alloymc.dev/v1/minecraft/069a79f444e94726a5befca90e38aaf5/body.png",
  "user": {
    "handle": "kestrel",
    "displayName": "Kestrel",
    "accent": "amethyst",
    "avatarUrl": "https://api.alloymc.dev/v1/users/kestrel/avatar.png?v=1a2b3c4d",
    "profileUrl": "https://alloymc.dev/@kestrel"
  }
}
```

The UUID works with or without dashes. You only get an answer when the player is linked to a **public** profile and **shown** on it; in every other case the answer is `404`, so a hidden link stays hidden.

## Heads and bodies

```
https://api.alloymc.dev/v1/minecraft/{uuid}/head.png?s=64
https://api.alloymc.dev/v1/minecraft/{uuid}/body.png?s=128
```

Front-facing renders of a linked account's skin, with the hat and jacket layers. `s` is the width in pixels (8 to 512); a body is twice as tall as it is wide. These work for linked accounts only.

## How linking works

Linking proves that someone owns a Minecraft account without AlloyMC ever seeing their Microsoft sign-in. It uses the same check Minecraft servers use when you join:

1. The signed-in app asks AlloyMC for a one-time server ID: `POST /v1/me/minecraft/challenge` → `{"serverId": "...", "expiresIn": 120}`.
2. The app tells Mojang "this player is joining server `<serverId>`", using the player's own Minecraft session. Only the real owner can do that.
3. The app sends the player's name and the server ID to `POST /v1/me/minecraft`. AlloyMC asks Mojang whether that player really joined that server ID. If yes, the account is linked.

Alloy does this for you from version 0.3 on. People can hide or unlink accounts on their [account page](https://alloymc.dev/account#minecraft) at any time.
