openapi: 3.0.3 info: title: Minecraft Services Attributes Presence API description: Microsoft-managed Minecraft Services API (api.minecraftservices.com). Covers authenticated player profile management, name change, skin and cape management, player attributes (chat, friends, profanity filter), privacy blocklist, friends graph, presence reporting, signature keypair issuance, public-key publication for chat signature verification, and player entitlement / ownership checks. Most endpoints require a Minecraft Bearer access token obtained via the Xbox Live -> XSTS -> Minecraft authentication chain. 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://api.minecraftservices.com description: Microsoft / Minecraft Services API (production) security: [] tags: - name: Presence description: Online / playing presence reporting paths: /presence: post: operationId: reportPresence summary: Report Presence description: Publish the player's online / playing presence. Returns the current presence of every online friend. tags: - Presence security: - bearerAuth: [] requestBody: required: true description: Presence payload. content: application/json: schema: $ref: '#/components/schemas/PresenceReport' responses: '200': description: Friends' presence snapshot. content: application/json: schema: type: array items: $ref: '#/components/schemas/PresenceEntry' '401': description: Missing or invalid access token. content: application/json: schema: $ref: '#/components/schemas/Error' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: schemas: PresenceReport: type: object description: Body for POST /presence. required: - status properties: status: type: string enum: - OFFLINE - ONLINE - PLAYING_OFFLINE - PLAYING_HOSTED_SERVER - PLAYING_REALMS - PLAYING_SERVER example: PLAYING_SERVER joinInfo: type: object additionalProperties: true description: Optional server / realm join metadata. PresenceEntry: type: object description: A friend's current presence. properties: profileId: type: string description: Friend UUID. example: 853c80ef3c3749fdaa49938b674adae6 status: type: string enum: - OFFLINE - ONLINE - PLAYING_OFFLINE - PLAYING_HOSTED_SERVER - PLAYING_REALMS - PLAYING_SERVER example: PLAYING_SERVER lastUpdated: type: string format: date-time example: '2026-05-30T12:00:00Z' Error: type: object description: Standard Minecraft Services error envelope. properties: path: type: string description: Request path that produced the error. example: /minecraft/profile/lookup/name/zzzzzzzzzzzzzz errorType: type: string description: Mojang error class. example: NOT_FOUND error: type: string description: Short error name. example: NOT_FOUND errorMessage: type: string description: Human-readable description. example: Couldn't find any profile with name zzzzzzzzzzzzzz developerMessage: type: string description: Optional developer-facing message. example: Couldn't find any profile with name zzzzzzzzzzzzzz securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT description: 'Minecraft access token issued by /authentication/login_with_xbox. Used as `Authorization: Bearer {token}`.'