Store Development Entitlements Tool (DevEntitlementTool.exe)
Command-line tool to query, add, and remove Microsoft Store entitlements to/from Xbox test accounts in sandbox.
Usage
deventitlementtool <command> -e <testaccountemail> -s <sandboxid> [-p <productid>] [...]
Command | Description |
---|---|
query | Look up entitlements owned by an account |
add | Add the specified entitlement(s) to account |
delete | Delete the specified entitlement(s) from account |
catalog | Show the available products sellable by specified parent product |
All commands require the -e (email) and -s (sandbox) parameters. Initial sign-in with an account will invoke an interactive password entry dialog. Once successfully signed in, subsequent operations with the same account/sandbox on the device will no longer require password entry.
query
deventitlementtool query -e <testaccountemail> -s <sandboxid>
List all directly owned entitlements associated with this account in the sandbox.
query output
Entitlements found: {Number of entitlements}
{ProductID}: {Last Updated Date (UTC)} {Status}
...
query example
> DevEntitlementTool.exe query -e xdks-testaccount00000@xboxtest.com -s XDKS.1
Entitlements found: 2
9MT5TGW893HV: 4/18/2023 5:05:19 PM Active
9N3KNR1TDV5V: 2/5/2024 8:39:18 PM Active
add
deventitlementtool add -e <testaccountemail> -s <sandboxid> -p <productid1> [<productid2> <productid3> ...] [-q <quantity>]
Adds an entitlement for the specified product(s) to the account. This will be the equivalent of purchasing the product from Store or through purchase API.
For Game, Durable, Bundle, and Dev-Managed consumable products, if an add is attempted on already entitled product (or the quantity is 1) it will report the existing entitlement; no new entitlement or quantity is added.
For Store-managed consumable products, a default quantity of 1 is added to the consumable balance on each add command. An optional quantity value can be specified to change this default value, but the quantity field can only be used if a single productID is passed with -p. This is useful for consumables that grant a quantity greater than 1 on purchase.
Note
Quantity is not verifiable with this tool. Examine the XStoreCollectionData struct to determine quantity.
Adding a product that is a bundle will grant all of its included products. If a quantity is specified and the bundle includes Store-managed consumables, the same quantity will be assigned to each consumable.
Note
Subscription products are not supported.
add output
Entitlements added: {Number of entitlements}
{ProductID}: {Last Updated Date (UTC)} {Status}
...
add examples
Single entitlement added
> DevEntitlementTool.exe add -e xdks-test00000@xboxtest.com -s XDKS.1 -p 9MT5TGW893HV
Entitlements added: 1
9MT5TGW893HV: 2/20/2024 12:21:25 AM Active
Multiple entitlements added
> DevEntitlementTool.exe add -e xdks-test00000@xboxtest.com -s XDKS.1 -p 9P23V43P0XZZ 9N30KZZF4BR9 9NCX1H100M18 9NQWJKKNHF1L
Entitlements added: 4
9P23V43P0XZZ: 2/20/2024 12:33:20 AM Active
9N30KZZF4BR9: 2/20/2024 12:33:20 AM Active
9NCX1H100M18: 2/20/2024 12:33:20 AM Active
9NQWJKKNHF1L: 2/20/2024 12:33:20 AM Active
Add consumable with quantity
> DevEntitlementTool.exe add -e xdks-test00000@xboxtest.com -s XDKS.1 -p 9MT5TGW893HV -q 4321
Entitlements added: 1
9MT5TGW893HV: 2/20/2024 12:34:35 AM Active
delete
deventitlementtool delete -e <testaccountemail> -s <sandboxid> -p <productid1> [<productid2> <productid3> ...] [--all]
Deletes the specified entitlement(s) from the account.
If --all
is specified, it will attempt to delete all entitlements associated with the account and sandbox.
A Revoked status will show for deleting entitlements that were granted by this tool.
A Refunded status will show for deleting entitlements that were purchased conventionally through Store client or in-game API.
delete output
Entitlements deleted: {Number of entitlements}
{ProductID}: {Last Updated Date (UTC)} {Status}
...
delete examples
> DevEntitlementTool.exe delete -e xdks-test00000@xboxtest.com -s XDKS.1 -p 9P23V43P0XZZ 9N30KZZF4BR9 9NCX1H100M18
Entitlements deleted: 3
9P23V43P0XZZ: 2/20/2024 2:26:13 AM Revoked
9N30KZZF4BR9: 2/20/2024 2:26:13 AM Revoked
9NCX1H100M18: 2/20/2024 2:26:13 AM Revoked
> DevEntitlementTool.exe delete -e xdks-test00000@xboxtest.com -s XDKS.1 -p 9PLRFWZWWF91
Entitlements deleted: 1
9PLRFWZWWF91: 1/1/0001 12:00:00 AM Refunded
catalog
deventitlementtool catalog -e <testaccountemail> -s <sandboxid> -p <productid1>
deventitlementtool catalog -e testaccountemail -s sandbox -p productid |
Shows the set of products sellable by the provided product ID; i.e. child add-on products and products with a can use and sell relationship to the productID in Partner Center. This command is the equivalent to what is returned by XStoreQueryAssociatedProductsAsync. Products that are configured in Partner Center as available but not discoverable in the Microsoft Store will not be returned by this command.
catalog output
{ProductID} can sell {Number of products} products:
1. {ProductID} {Product Name} ({Product Type})
2. {ProductID} {Product Name} ({Product Type})
...
catalog example
> DevEntitlementTool.exe catalog -e xdks-test00000@xboxtest.com -s XDKS.1 -p 9NTL0QDWZ4FS
9NTL0QDWZ4FS can sell 16 products:
1. 9PHPTTDP88F7: ATG Season Pass 1 (Durable)
2. 9NMDDZC7ZWRM: ATG Sample Year 1 Pass (Durable)
3. 9PGLXLWS7319: ATG Consumable Only Bundle (Durable)
4. 9P23V43P0XZZ: ATG Sample Durable 2 (Durable)
5. 9MZ0MGGFPLTP: ATG Sample Subscription 1 (Durable)
6. 9MT5TGW893HV: ATG Sample Consumable 3 (10) (Consumable)
7. 9N30KZZF4BR9: ATG Sample Durable 1 (Durable)
8. 9PLRFWZWWF91: ATG Sample Durable 4 (Durable)
9. 9PLNMXRKNM4C: ATG Sample Durable 1 (with package) (Durable)
10. 9P8S15PJTB0P: ATG Sample Durable 3 (Durable)
11. 9NCX1H100M18: ATG Sample Consumable 2 (50) (Consumable)
12. 9N0297GK108W: ATG Dev managed consumable 1 (UnmanagedConsumable)
13. 9NQWJKKNHF1L: ATG Downloadable Content Sample (Game)
14. 9NRGW2QG5PCW: ATG Sample Pre-Order 1 (Durable)
15. 9PHHWZ12RR23: ATG In-Game Store Deluxe Add-on (Durable)
16. 9PFL4RQTB1P6: ATG Sample Consumable 1 (1) (Consumable)
Remarks
This tool is strictly for use with Xbox test accounts and for sandbox products. Use for retail accounts and scenarios is blocked.
There is a limit of add and delete operations per account per day. This will be adjusted based on observed usage. Please reach out to your Microsoft Account Representative to make requests for increasing limits.