Uploaded image for project: 'Mojang Web Services'
  1. Mojang Web Services
  2. WEB-5779

Entitlements get deleted every 24 hours on Xbox Gamepass account

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Awaiting Response
    • Icon: Normal Normal
    • API
    • None

      After initially purchasing an Xbox Gamepass account the profile endpoint returns the following (as expected):

      {
          "id": "70a4ba471f4d40f687840cb3997ca9d8",
          "name": "ehmehmehm",
          "skins": [
              {
                  "id": "6a963734-a6bb-459c-8047-356100689992",
                  "state": "ACTIVE",
                  "url": "http://textures.minecraft.net/texture/ca93f6fc40488f1877cda94a830b54e9f6f54ab58a5453bad5c947726dd1f473",
                  "variant": "SLIM"
              }
          ],
          "capes": [
          ]
      }

      The API also shows I have the proper entitlements (also as expected):

      {
          "items": [
              {
                  "name": "product_minecraft",
                  "signature": "***"
              },
              {
                  "name": "game_minecraft",
                  "signature": "***"
              }
          ],
          "signature": "***",
          "keyId": "1"
      } 

      ISSUE:

      But after 24 hours, the API thinks I do not own the game and therefore do not have a profile

      {
          "path": "/minecraft/profile/",
          "errorType": "NOT_FOUND",
          "error": "NOT_FOUND",
          "errorMessage": "The server has not found anything matching the request URI",
          "developerMessage": "The server has not found anything matching the request URI"
      } 

      This deletion is confirmed by the entitlements endpoint, which this time returns empty entitlements:

      {
          "items": [
          ],
          "signature": "***",
          "keyId": "1"
      } 

      Obviously this is not intended, and has let to many people having a "Play Demo" button appear on their launcher when they clearly have an active Gamepass subscription. It has also lead to a lot of errors when trying to connect to servers which are often hard to diagnose by most players. The only way to remind the API that you actually own the game is by checking the license endpoint:

      {
          "items": [
              {
                  "name": "product_dungeons",
                  "source": "GAMEPASS"
              },
              {
                  "name": "game_dungeons",
                  "source": "GAMEPASS"
              },
              {
                  "name": "product_minecraft_bedrock",
                  "source": "GAMEPASS"
              },
              {
                  "name": "game_minecraft_bedrock",
                  "source": "GAMEPASS"
              },
              {
                  "name": "product_minecraft",
                  "source": "GAMEPASS"
              },
              {
                  "name": "game_minecraft",
                  "source": "GAMEPASS"
              }
          ],
          "signature": "***",
          "keyId": "1",
          "requestId": "1"
      } 

      After calling this endpoint, the profile and entitlements suddenly reappear and I can play on my account again. The only way for people without API knowledge to make their profile reappear is to log into minecraft.net, as it checks the license endpoint for you.

      It's incredibly annoying to deal with because it happens every 24 hours.

            robert@mojang.com [Mojang] Robert Sjödahl
            HX7 Bob
            Votes:
            2 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: