{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/mojang/json-schema/mojang-authenticated-profile-schema.json",
  "title": "AuthenticatedProfile",
  "description": "The authenticated player's own profile with skins and capes.",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/mojang-capes-api-openapi.yml#/components/schemas/AuthenticatedProfile",
  "type": "object",
  "required": [
    "id",
    "name"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "Player UUID without hyphens."
    },
    "name": {
      "type": "string",
      "description": "Current username."
    },
    "skins": {
      "type": "array",
      "description": "All skins owned by the player; one is marked ACTIVE.",
      "items": {
        "$ref": "#/$defs/Skin"
      }
    },
    "capes": {
      "type": "array",
      "description": "All capes owned by the player; one may be marked ACTIVE.",
      "items": {
        "$ref": "#/$defs/Cape"
      }
    },
    "profileActions": {
      "type": "array",
      "description": "Sanctions in effect on the profile (e.g. FORCED_NAME_CHANGE).",
      "items": {
        "type": "string"
      }
    }
  },
  "$defs": {
    "Cape": {
      "type": "object",
      "description": "A cape owned by the authenticated player.",
      "required": [
        "id",
        "state",
        "url"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "Cape UUID."
        },
        "state": {
          "type": "string",
          "enum": [
            "ACTIVE",
            "INACTIVE"
          ]
        },
        "url": {
          "type": "string",
          "format": "uri",
          "description": "Cape texture URL."
        },
        "alias": {
          "type": "string",
          "description": "Cape display name."
        }
      }
    },
    "Skin": {
      "type": "object",
      "description": "A skin owned by the authenticated player.",
      "required": [
        "id",
        "state",
        "url",
        "variant"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "Skin UUID."
        },
        "state": {
          "type": "string",
          "enum": [
            "ACTIVE",
            "INACTIVE"
          ]
        },
        "url": {
          "type": "string",
          "format": "uri",
          "description": "Texture URL."
        },
        "textureKey": {
          "type": "string",
          "description": "Texture content hash."
        },
        "variant": {
          "type": "string",
          "enum": [
            "CLASSIC",
            "SLIM"
          ]
        },
        "alias": {
          "type": "string",
          "description": "Skin alias / nickname."
        }
      }
    }
  }
}