{"openapi":"3.0.0","paths":{"/v2/client/app/get-master-data":{"post":{"operationId":"AppController_getMasterDataV2","summary":"Get master data","description":"Retrieve all master data for client apps including data types, platforms, item types, and more","parameters":[],"responses":{"200":{"description":"Master data retrieved successfully","content":{"application/json":{"schema":{"example":{"code":200,"errors":[],"message":"Master data","status":"success","data":{"dataTypes":[{"id":1,"name":"string"},{"id":2,"name":"number"},{"id":3,"name":"boolean"},{"id":4,"name":"json"}],"platforms":[{"id":1,"name":"Android"},{"id":2,"name":"iOS"},{"id":3,"name":"Windows"}],"itemTypes":[{"id":1,"name":"Stackable"},{"id":2,"name":"Equippable"},{"id":3,"name":"Unique"}],"progressionSystemTypes":[{"id":1,"name":"named"},{"id":2,"name":"generic"}],"organisationTypes":[{"id":1,"name":"studio"},{"id":2,"name":"enterprise"}],"taskGroupTypes":[{"id":1,"name":"mission"},{"id":2,"name":"step_series"},{"id":3,"name":"time_series"}],"countries":[{"id":1,"name":"India","code":"IN"},{"id":2,"name":"United States","code":"US"}],"genres":[{"id":1,"name":"Action"},{"id":2,"name":"Adventure"},{"id":3,"name":"Puzzle"}],"defaultEvents":[{"id":1,"name":"On App Open","category":"App","parameterDetails":[{"id":1,"name":"session_id","dataType":"string","type":"optional"}]}],"matchOutcomes":[{"id":1,"name":"score"},{"id":2,"name":"time"}],"matchFormats":[{"id":1,"name":"solo"},{"id":2,"name":"multi_player"}],"matchWinningConditions":[{"id":1,"name":"higher"},{"id":2,"name":"lower"}],"leaderboardOutcomes":[{"id":1,"name":"score"},{"id":2,"name":"time"}],"leaderboardIntervals":[{"id":1,"name":"daily"},{"id":2,"name":"weekly"},{"id":3,"name":"monthly"},{"id":4,"name":"all_time"}],"leaderboardSourceTypes":[{"id":1,"name":"match"},{"id":2,"name":"competition"},{"id":3,"name":"custom"}],"defaultParameters":[{"id":1,"name":"score","type":"required"},{"id":2,"name":"time","type":"optional"}],"competitionFormats":[{"id":1,"name":"Tournament"},{"id":2,"name":"Instant Battle"}],"projectCategories":[{"id":1,"name":"Gaming"},{"id":2,"name":"Entertainment"}],"permissionIds":[{"id":1,"name":"read"},{"id":2,"name":"write"},{"id":3,"name":"admin"}],"walletTransactionPurposes":[{"id":1,"name":"withdrawal"},{"id":2,"name":"deposit"},{"id":3,"name":"entry_fee"},{"id":4,"name":"payout"}]}}}}}}},"security":[{"apiKey":[]}],"tags":["App"]}},"/v2/client/app/welcome":{"post":{"operationId":"ProjectsController_welcomeV2","summary":"Welcome API","description":"Test endpoint to verify API connectivity. Returns a success message upon successful API call.","parameters":[],"responses":{"200":{"description":"Welcome API call successful","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"Congratulations! You made your first API call!","errors":[],"data":[]}}}}}},"tags":["App","App"],"security":[{"apiKey":[]}]}},"/v2/client/app/get-info":{"post":{"operationId":"ProjectsController_getAppInfoV2","summary":"Get app info","description":"Retrieve detailed information about the app including games, currencies, items, and more based on requested attributes","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"attributes":{"type":"array","items":{"type":"string"},"description":"Optional attributes to include in response","example":["games","currencies","items"]}},"example":{}}}}},"responses":{"200":{"description":"App information retrieved successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"Get App Information","errors":[],"data":{"appInfo":{"uuid":"b330ed4c-1188-4774-8ea5-8bf66b8341e1","id":"my-app-id","name":"My Game App","description":"An awesome gaming application","iconUrl":"https://example.com/icon.png","meta":null,"games":[{"uuid":"6eba9b41-bd0d-4671-abc7-b6af9565b8ca","id":"game_001","name":"Battle Arena","description":"PvP battle game","iconUrl":"https://example.com/game-icon.png"}],"currencies":[{"uuid":44,"id":"curr_skai","name":"SKAI","description":"In-game currency","iconUrl":"https://example.com/currency-icon.png","type":"virtual","code":"SK"}],"items":[{"uuid":"item-uuid","id":"sword_001","name":"Power Sword","description":"A powerful weapon","iconUrl":"https://example.com/item-icon.png"}]},"lastUpdate":"2024-01-15T10:30:00.000Z"}}}}}}},"tags":["App","App"],"security":[{"apiKey":[]}]}},"/v2/client/app/get-games":{"post":{"operationId":"GamesController_getClientGamesV2","summary":"Get games (V2)","description":"Retrieve games with flexible filtering and attribute selection.\n\nThis endpoint supports:\n- Filtering by game IDs, search term, orientation, tags\n- Selective attribute loading (tags, platforms, matches, screenshots, etc.)\n- Pagination with offset and limit\n- Returns base fields by default, additional attributes on request","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetClientGamesV2Dto"},"examples":{"Retrieve Default Game":{"summary":"Retrieve Default Game (Main App)","description":"Retrieve only the default game which represents the main app","value":{"isDefault":true}},"Retrieve Specific Games by IDs":{"summary":"Retrieve Specific Games by IDs","description":"Get specific games by providing their IDs","value":{"gameIds":["realm_of_fire","forest_of_whispers"]}},"Retrieve All Games with Complete Information":{"summary":"Retrieve All Games with Complete Information","description":"Get all games with all available attributes","value":{"attributes":["howTo","screenshotUrls","videoUrls","isScreenOrientationLandscape","platforms","locations","genre","meta","tags"]}},"Retrieve Games with Specific Tags":{"summary":"Retrieve Games with Specific Tags","description":"Filter games by tags","value":{"includeTags":["Adventure","Multiplayer"],"attributes":["tags"]}},"Retrieve Games Including Matches":{"summary":"Retrieve Games Including Matches Information","description":"Get games with their related match configurations","value":{"attributes":["matches"]}}}}}},"responses":{"200":{"description":"Games retrieved successfully","content":{"application/json":{"examples":{"Retrieve Default Game":{"summary":"Response for default game","value":{"status":"Success","code":200,"message":"Default game retrieved successfully.","errors":[],"data":[{"uuid":"672b3a58-e560-0d90-6ce3-830b00000000","id":"arcadia_nexus","name":"Arcadia Nexus","description":"The central hub connecting all realms.","iconUrl":"https://cdn.arcadianexus.com/icons/app_icon.png"}]}},"Retrieve Specific Games by IDs":{"summary":"Response for specific games by IDs","value":{"status":"Success","code":200,"message":"Games retrieved successfully.","errors":[],"data":[{"uuid":"abc12345-e89b-12d3-a456-426614174000","id":"realm_of_fire","name":"Realm of Fire","description":"A volcanic realm filled with fiery challenges.","iconUrl":"https://cdn.arcadianexus.com/icons/realm_of_fire.png"},{"uuid":"def67890-e89b-12d3-a456-426614174001","id":"forest_of_whispers","name":"Forest of Whispers","description":"An enigmatic forest shrouded in mystery.","iconUrl":"https://cdn.arcadianexus.com/icons/forest_of_whispers.png"}]}},"Retrieve All Games with Complete Information":{"summary":"Response for all games with complete information","value":{"status":"Success","code":200,"message":"Games retrieved successfully.","errors":[],"data":[{"uuid":"abc12345-e89b-12d3-a456-426614174000","id":"realm_of_fire","name":"Realm of Fire","description":"A volcanic realm filled with fiery challenges.","iconUrl":"https://cdn.arcadianexus.com/icons/realm_of_fire.png","howTo":"Survive the heat and conquer fire-based obstacles.","screenshotUrls":["https://cdn.arcadianexus.com/screenshots/realm_of_fire1.png","https://cdn.arcadianexus.com/screenshots/realm_of_fire2.png"],"videoUrls":["https://cdn.arcadianexus.com/videos/realm_of_fire_trailer.mp4"],"meta":{"releaseDate":"2023-10-20","version":"1.0","developer":"Arcadia Studios"},"tags":["Fire","Adventure","Challenging"],"isScreenOrientationLandscape":true,"platforms":[{"id":1,"name":"android"},{"id":2,"name":"ios"}],"locations":[{"id":236,"name":"United States of America","code":"840"},{"id":235,"name":"United Kingdom","code":"826"}],"genre":"Adventure"},{"uuid":"def67890-e89b-12d3-a456-426614174001","id":"forest_of_whispers","name":"Forest of Whispers","description":"An enigmatic forest shrouded in mystery.","iconUrl":"https://cdn.arcadianexus.com/icons/forest_of_whispers.png","howTo":"Navigate through the mist and unveil secrets.","screenshotUrls":["https://cdn.arcadianexus.com/screenshots/forest_of_whispers1.png"],"videoUrls":["https://cdn.arcadianexus.com/videos/forest_of_whispers_trailer.mp4"],"meta":{"releaseDate":"2023-11-15","version":"1.0","developer":"Arcadia Studios"},"tags":["Forest","Mystery","Exploration"],"isScreenOrientationLandscape":true,"platforms":[{"id":1,"name":"android"},{"id":2,"name":"ios"}],"locations":[{"id":236,"name":"United States of America","code":"840"},{"id":113,"name":"Japan","code":"392"}],"genre":"Mystery"}]}},"Retrieve Games with Specific Tags":{"summary":"Response for games filtered by tags","value":{"status":"Success","code":200,"message":"Games retrieved successfully.","errors":[],"data":[{"uuid":"abc12345-e89b-12d3-a456-426614174000","id":"realm_of_fire","name":"Realm of Fire","description":"A volcanic realm filled with fiery challenges.","iconUrl":"https://cdn.arcadianexus.com/icons/realm_of_fire.png","tags":["Fire","Adventure","Challenging"]},{"uuid":"ghi90123-e89b-12d3-a456-426614174002","id":"skyward_battles","name":"Skyward Battles","description":"An epic multiplayer realm set in the skies.","iconUrl":"https://cdn.arcadianexus.com/icons/skyward_battles.png","tags":["Sky","Multiplayer","Combat"]}]}},"Retrieve Games Including Matches":{"summary":"Response for games with matches information","value":{"status":"Success","code":200,"message":"Games retrieved successfully.","errors":[],"data":[{"uuid":"abc12345-e89b-12d3-a456-426614174000","id":"realm_of_fire","name":"Realm of Fire","description":"A volcanic realm filled with fiery challenges.","iconUrl":"https://cdn.arcadianexus.com/icons/realm_of_fire.png","matches":[{"uuid":"match12345-e89b-12d3-a456-426614174003","id":"fire_survival","name":"Fire Survival","description":"Survive waves of fire creatures.","iconUrl":"https://cdn.arcadianexus.com/icons/fire_survival.png"},{"uuid":"match67890-e89b-12d3-a456-426614174004","id":"lava_race","name":"Lava Race","description":"Race across the molten plains.","iconUrl":"https://cdn.arcadianexus.com/icons/lava_race.png"}]},{"uuid":"def67890-e89b-12d3-a456-426614174001","id":"forest_of_whispers","name":"Forest of Whispers","description":"An enigmatic forest shrouded in mystery.","iconUrl":"https://cdn.arcadianexus.com/icons/forest_of_whispers.png","matches":[{"uuid":"match23456-e89b-12d3-a456-426614174005","id":"whispering_shadows","name":"Whispering Shadows","description":"Uncover secrets hidden in the shadows.","iconUrl":"https://cdn.arcadianexus.com/icons/whispering_shadows.png"}]}]}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]}],"tags":["App"]}},"/v2/client/stores/default-purchase":{"post":{"operationId":"InventoryController_defaultPurchaseV2","summary":"Default purchase (V2)","description":"Purchase items and/or bundles using their default configured prices. Supports both virtual currency and real-world currency purchases. Returns purchased items/bundles added to user inventory. May return partial success (207) if some purchases fail.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultPurchaseV2Dto"},"examples":{"Purchase Single Item":{"summary":"Purchase single item","description":"Purchase one item with default price","value":{"items":[{"id":"3"}]}},"Purchase Bundle":{"summary":"Purchase bundle","description":"Purchase a bundle with default price","value":{"bundles":[{"id":"starter-pack","amount":1,"currencyId":"gems","storeId":"main-shop"}]}},"Purchase Items and Bundles":{"summary":"Purchase items and bundles","description":"Purchase multiple items and bundles in one transaction","value":{"items":[{"id":"3","amount":2,"currencyId":"1","collectionId":"weapons"}],"bundles":[{"id":"starter-pack","currencyId":"gems"}]}}}}}},"responses":{"200":{"description":"Purchase successful","content":{"application/json":{"examples":{"Purchase Single Item":{"summary":"Item purchased successfully","value":{"status":"success","code":200,"message":"Purchase Successful","data":{"items":[{"instanceId":"25762134-1d00-4a11-b281-84d13bce1604","uuid":"9016df1f-69cf-459a-8fa0-fcaee5dd611b","id":"3","name":"Zinedine Zidane Card","description":"Zinedine Zidane Card is an item in the football game.","iconUrl":null,"quantity":1,"collectionId":"default","stackId":"default"}],"bundles":[]},"errors":[]}},"Purchase Bundle":{"summary":"Bundle purchased successfully","value":{"status":"success","code":200,"message":"Purchase Successful","data":{"items":[],"bundles":[{"instanceId":"inv-uuid-789","uuid":"bundle-uuid-abc","id":"starter-pack","name":"Starter Pack","description":"Everything you need to get started","iconUrl":"https://cdn.example.com/pack.png","quantity":1,"collectionId":"default","stackId":"default"}]},"errors":[]}},"Purchase Items and Bundles":{"summary":"Mixed purchase successful","value":{"status":"success","code":200,"message":"Purchase Successful","data":{"items":[{"instanceId":"25762134-1d00-4a11-b281-84d13bce1604","uuid":"9016df1f-69cf-459a-8fa0-fcaee5dd611b","id":"3","name":"Zinedine Zidane Card","description":"Zinedine Zidane Card is an item in the football game.","iconUrl":null,"quantity":2,"collectionId":"weapons","stackId":"default"}],"bundles":[{"instanceId":"inv-uuid-789","uuid":"bundle-uuid-abc","id":"starter-pack","name":"Starter Pack","description":"Everything you need to get started","iconUrl":"https://cdn.example.com/pack.png","quantity":1,"collectionId":"default","stackId":"default"}]},"errors":[]}}}}}},"207":{"description":"Partial success - some purchases failed","content":{"application/json":{"schema":{"example":{"status":"multi-status","code":207,"message":"Partially Purchase Successful","data":{"items":[{"instanceId":"inv-uuid-123","uuid":"item-uuid-456","id":"sword-01","name":"Steel Sword","description":"A sturdy steel sword","iconUrl":"https://cdn.example.com/sword.png","rarity":null,"quantity":1,"collectionId":"default","stackId":"default","totalUsesAvailable":null,"isEquipped":false}],"bundles":[],"itemsFailed":[{"id":"legendary-armor","amount":1,"collectionId":"default","stackId":"default","message":"Item is not added to collection","reason":"Insufficient wallet balance","code":1041}],"bundlesFailed":[]},"errors":[]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Stores"]}},"/v2/client/stores/custom-purchase":{"post":{"operationId":"InventoryController_customPurchaseV2","summary":"Custom purchase (V2)","description":"Purchase items and/or bundles with custom prices, overriding the default store prices. Useful for promotions, discounts, loyalty rewards, time-limited sales, dynamic pricing, or free items. The price field is required for each item/bundle. May return partial success (207) if some purchases fail.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomPurchaseV2Dto"},"examples":{"Custom Price Purchase":{"summary":"Purchase item with custom price","description":"Purchase an item at a custom discounted price","value":{"items":[{"id":"3","price":40,"currencyId":"1"}]}},"Free Item Purchase":{"summary":"Free item (price = 0)","description":"Give a free item to the user","value":{"items":[{"id":"welcome-gift","price":0,"amount":1,"currencyId":"1","customParams":{"reason":"new-player-bonus"}}]}},"Multiple Items Custom Purchase":{"summary":"Purchase multiple items with custom prices","description":"Purchase multiple items with promotional pricing","value":{"items":[{"id":"Test_1_multiple","price":40,"currencyId":"1","storeId":"StoreTest1"},{"id":"Test_3_multiple","price":40,"currencyId":"1","storeId":"StoreTest1"}]}}}}}},"responses":{"200":{"description":"Purchase successful","content":{"application/json":{"examples":{"Custom Price Purchase":{"summary":"Item purchased with custom price","value":{"status":"success","code":200,"message":"Purchase Successful","data":{"items":[{"instanceId":"25762134-1d00-4a11-b281-84d13bce1604","uuid":"9016df1f-69cf-459a-8fa0-fcaee5dd611b","id":"3","name":"Zinedine Zidane Card","description":"Zinedine Zidane Card is an item in the football game.","iconUrl":null,"quantity":3,"collectionId":"default","stackId":"default"}],"bundles":[]},"errors":[]}},"Free Item Purchase":{"summary":"Free item added to inventory","value":{"status":"success","code":200,"message":"Purchase Successful","data":{"items":[{"instanceId":"25762134-1d00-4a11-b281-84d13bce1604","uuid":"item-uuid-456","id":"welcome-gift","name":"Welcome Gift","description":"A welcome gift for new players","iconUrl":null,"quantity":1,"collectionId":"default","stackId":"default"}],"bundles":[]},"errors":[]}},"Multiple Items Custom Purchase":{"summary":"Multiple items purchased with custom pricing","value":{"status":"success","code":200,"message":"Purchase Successful","data":{"items":[{"instanceId":"25762134-1d00-4a11-b281-84d13bce1604","uuid":"9016df1f-69cf-459a-8fa0-fcaee5dd611b","id":"Test_1_multiple","name":"Test Item 1","description":"Test item for multiple purchase","iconUrl":null,"quantity":1,"collectionId":"default","stackId":"default"},{"instanceId":"25762135-1d00-4a11-b281-84d13bce1605","uuid":"9016df1f-69cf-459a-8fa0-fcaee5dd611c","id":"Test_3_multiple","name":"Test Item 3","description":"Test item for multiple purchase","iconUrl":null,"quantity":1,"collectionId":"default","stackId":"default"}],"bundles":[]},"errors":[]}}}}}},"207":{"description":"Partial success - some purchases failed","content":{"application/json":{"schema":{"example":{"status":"multi-status","code":207,"message":"Partially Purchase Successful","data":{"items":[{"instanceId":"inv-uuid-123","uuid":"item-uuid-456","id":"sword-01","name":"Steel Sword","description":"A sturdy steel sword","iconUrl":"https://cdn.example.com/sword.png","rarity":null,"quantity":1,"collectionId":"default","stackId":"default","totalUsesAvailable":null,"isEquipped":false}],"bundles":[],"itemsFailed":[{"id":"legendary-armor","amount":1,"collectionId":"default","stackId":"default","message":"Item is not added to collection","reason":"Insufficient wallet balance","code":1041}],"bundlesFailed":[]},"errors":[]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Stores"]}},"/v2/client/app/get-items":{"post":{"operationId":"InventoryController_getClientItemsV2","summary":"Get items (V2)","description":"Retrieve inventory items with optional filtering and attributes. Supports pagination, search, and filtering by item IDs, tags, locked status, and default loadout status. Use the attributes parameter to include additional data like properties, prices, tags, meta, and unlock conditions.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetClientItemsV2Dto"},"examples":{"Retrieve All Items":{"summary":"Retrieve All Items with Default Information","description":"Get all items with basic fields only","value":{}},"Retrieve Items with Prices":{"summary":"Retrieve Items with Prices","description":"Get items with pricing information","value":{"attributes":["prices"],"limit":10}},"Retrieve Specific Items by IDs":{"summary":"Retrieve Specific Items by IDs","description":"Get specific items by providing their IDs","value":{"itemIds":["flame_sword","forest_shield"]}},"Retrieve Items with All Attributes":{"summary":"Retrieve Items with All Attributes","description":"Get items with all available attributes","value":{"attributes":["properties","meta","tags","prices","unlockConditions"]}},"Retrieve Items Filtered by Tags":{"summary":"Retrieve Items Filtered by Tags","description":"Filter items by specific tags","value":{"includeTags":["weapon","legendary"],"attributes":["tags"]}}}}}},"responses":{"200":{"description":"Items retrieved successfully","content":{"application/json":{"examples":{"Retrieve All Items":{"summary":"Response for all items","value":{"status":"success","code":200,"message":"Items list","errors":[],"data":{"items":[{"uuid":"item1-uuid","id":"flame_sword","name":"Flame Sword","description":"A sword imbued with fire.","iconUrl":"https://cdn.arcadianexus.com/icons/flame_sword.png"},{"uuid":"item2-uuid","id":"forest_shield","name":"Forest Shield","description":"A shield made from enchanted wood.","iconUrl":"https://cdn.arcadianexus.com/icons/forest_shield.png"},{"uuid":"item3-uuid","id":"sky_bow","name":"Sky Bow","description":"A bow that shoots arrows of wind.","iconUrl":"https://cdn.arcadianexus.com/icons/sky_bow.png"}],"totalCount":3,"lastUpdate":"2023-10-15T12:00:00Z"}}},"Retrieve Items with Prices":{"summary":"Response for items with prices","value":{"status":"success","code":200,"message":"Items list","errors":[],"data":{"items":[{"uuid":"item1-uuid","id":"flame_sword","name":"Flame Sword","description":"A sword imbued with fire.","iconUrl":"https://cdn.arcadianexus.com/icons/flame_sword.png","prices":[{"priceType":"virtual currency","productId":null,"price":500,"discount":10,"bonusCashAllowance":0,"currencyDetails":{"uuid":"currency1-uuid","id":"arcadian_coins","name":"Arcadian Coins","code":"ARC","type":"virtual"},"realWorldCurrency":null}]}],"totalCount":1,"lastUpdate":"2023-10-15T12:00:00Z"}}},"Retrieve Specific Items by IDs":{"summary":"Response for specific items by IDs","value":{"status":"success","code":200,"message":"Items list","errors":[],"data":{"items":[{"uuid":"item1-uuid","id":"flame_sword","name":"Flame Sword","description":"A sword imbued with fire.","iconUrl":"https://cdn.arcadianexus.com/icons/flame_sword.png"},{"uuid":"item2-uuid","id":"forest_shield","name":"Forest Shield","description":"A shield made from enchanted wood.","iconUrl":"https://cdn.arcadianexus.com/icons/forest_shield.png"}],"totalCount":2,"lastUpdate":"2023-10-15T12:00:00Z"}}},"Retrieve Items with All Attributes":{"summary":"Response for items with all attributes","value":{"status":"success","code":200,"message":"Items list","errors":[],"data":{"items":[{"uuid":"item1-uuid","id":"flame_sword","name":"Flame Sword","description":"A sword imbued with fire.","iconUrl":"https://cdn.arcadianexus.com/icons/flame_sword.png","properties":{"isConsumable":false,"isEquippable":true,"isTradable":true,"isStackable":false,"stackCapacity":1,"maxCollectionInstance":1},"meta":{"element":"fire","damage":150,"durability":100},"tags":["weapon","sword","fire","legendary"],"prices":[{"priceType":"virtual currency","price":500,"discount":10,"currencyDetails":{"id":"arcadian_coins","name":"Arcadian Coins","code":"ARC"}}],"unlockConditions":{"unlockLevel":[{"lockedLevelNo":10,"unlockProgressionSystem":{"id":"player_level","levelName":"Player Level"}}]}}],"totalCount":1,"lastUpdate":"2023-10-15T12:00:00Z"}}},"Retrieve Items Filtered by Tags":{"summary":"Response for items filtered by tags","value":{"status":"success","code":200,"message":"Items list","errors":[],"data":{"items":[{"uuid":"item1-uuid","id":"flame_sword","name":"Flame Sword","description":"A sword imbued with fire.","iconUrl":"https://cdn.arcadianexus.com/icons/flame_sword.png","tags":["weapon","sword","fire","legendary"]},{"uuid":"item4-uuid","id":"dragon_blade","name":"Dragon Blade","description":"A legendary blade forged in dragon fire.","iconUrl":"https://cdn.arcadianexus.com/icons/dragon_blade.png","tags":["weapon","sword","legendary","rare"]}],"totalCount":2,"lastUpdate":"2023-10-15T12:00:00Z"}}}}}}}},"security":[{"apiKey":[]}],"tags":["App"]}},"/v2/client/app/get-bundles":{"post":{"operationId":"InventoryController_getClientBundlesV2","summary":"Get bundles (V2)","description":"Retrieve inventory bundles with optional filtering and attributes. Supports pagination, search, filtering by bundle IDs, gacha status, and tags. Use the attributes parameter to include additional data like properties, contents, prices, tags, meta, and unlock conditions.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetClientBundlesV2Dto"},"examples":{"Retrieve All Bundles":{"summary":"Retrieve All Bundles with Default Information","description":"Get all bundles with basic fields only","value":{}},"Retrieve Bundles with Contents":{"summary":"Retrieve Bundles with Contents","description":"Get bundles with their contents (items, bundles, currencies)","value":{"attributes":["contents"],"limit":10}},"Retrieve Specific Bundles by IDs":{"summary":"Retrieve Specific Bundles by IDs","description":"Get specific bundles by providing their IDs","value":{"bundleIds":["fire_starter_pack","forest_explorer_kit"]}},"Retrieve Bundles with All Attributes":{"summary":"Retrieve Bundles with All Attributes","description":"Get bundles with all available attributes","value":{"attributes":["properties","meta","tags","contents","prices","unlockConditions"]}},"Retrieve Gacha Bundles":{"summary":"Retrieve Gacha Bundles Only","description":"Filter to get only gacha/loot box bundles","value":{"isGacha":true,"attributes":["contents","tags"]}}}}}},"responses":{"200":{"description":"Bundles retrieved successfully","content":{"application/json":{"examples":{"Retrieve All Bundles":{"summary":"Response for all bundles","value":{"status":"success","code":200,"message":"Bundles list","errors":[],"data":{"bundles":[{"uuid":"bundle1-uuid","id":"fire_starter_pack","name":"Fire Starter Pack","description":"Essential items for the Realm of Fire.","iconUrl":"https://cdn.arcadianexus.com/icons/fire_starter_pack.png","isGacha":false,"rarity":{"id":"rarity-uuid","name":"Rare"}},{"uuid":"bundle2-uuid","id":"forest_explorer_kit","name":"Forest Explorer Kit","description":"Tools for exploring the Forest of Whispers.","iconUrl":"https://cdn.arcadianexus.com/icons/forest_explorer_kit.png","isGacha":false,"rarity":{"id":"rarity-uuid","name":"Common"}},{"uuid":"bundle3-uuid","id":"mystery_chest","name":"Mystery Chest","description":"A chest containing random rewards.","iconUrl":"https://cdn.arcadianexus.com/icons/mystery_chest.png","isGacha":true,"rarity":{"id":"rarity-uuid","name":"Legendary"}}],"totalCount":3,"lastUpdate":"2023-10-15T12:00:00Z"}}},"Retrieve Bundles with Contents":{"summary":"Response for bundles with contents","value":{"status":"success","code":200,"message":"Bundles list","errors":[],"data":{"bundles":[{"uuid":"bundle1-uuid","id":"fire_starter_pack","name":"Fire Starter Pack","description":"Essential items for the Realm of Fire.","iconUrl":"https://cdn.arcadianexus.com/icons/fire_starter_pack.png","isGacha":false,"rarity":{"id":"rarity-uuid","name":"Rare"},"contents":{"items":[{"uuid":"item1-uuid","id":"flame_sword","name":"Flame Sword","rarity":{"id":"rarity-uuid","name":"Epic"},"quantity":1},{"uuid":"item5-uuid","id":"fire_potion","name":"Fire Resistance Potion","rarity":{"id":"rarity-uuid","name":"Common"},"quantity":5}],"bundles":[{"uuid":"bundle2-uuid","id":"bonus_pack","name":"Bonus Pack","rarity":{"id":"rarity-uuid","name":"Rare"},"quantity":1}],"currencies":[{"uuid":"currency1-uuid","id":"arcadian_coins","name":"Arcadian Coins","rarity":{"id":"rarity-uuid","name":"Common"},"quantity":500}],"progressionMarkers":[{"uuid":"pm-uuid","id":"xp_boost","name":"XP Boost","rarity":{"id":"rarity-uuid","name":"Rare"},"quantity":1}]}}],"totalCount":1,"lastUpdate":"2023-10-15T12:00:00Z"}}},"Retrieve Specific Bundles by IDs":{"summary":"Response for specific bundles by IDs","value":{"status":"success","code":200,"message":"Bundles list","errors":[],"data":{"bundles":[{"uuid":"bundle1-uuid","id":"fire_starter_pack","name":"Fire Starter Pack","description":"Essential items for the Realm of Fire.","iconUrl":"https://cdn.arcadianexus.com/icons/fire_starter_pack.png","isGacha":false,"rarity":{"id":"rarity-uuid","name":"Rare"}},{"uuid":"bundle2-uuid","id":"forest_explorer_kit","name":"Forest Explorer Kit","description":"Tools for exploring the Forest of Whispers.","iconUrl":"https://cdn.arcadianexus.com/icons/forest_explorer_kit.png","isGacha":false,"rarity":{"id":"rarity-uuid","name":"Common"}}],"totalCount":2,"lastUpdate":"2023-10-15T12:00:00Z"}}},"Retrieve Bundles with All Attributes":{"summary":"Response for bundles with all attributes","value":{"status":"success","code":200,"message":"Bundles list","errors":[],"data":{"bundles":[{"uuid":"bundle1-uuid","id":"fire_starter_pack","name":"Fire Starter Pack","description":"Essential items for the Realm of Fire.","iconUrl":"https://cdn.arcadianexus.com/icons/fire_starter_pack.png","isGacha":false,"rarity":{"id":"rarity-uuid","name":"Rare"},"properties":{"isConsumable":true,"isEquippable":false,"isTradable":false,"isStackable":true,"stackCapacity":99,"limitedQuantity":1000,"remainingQuantity":850},"meta":{"tier":"starter","recommendedLevel":1},"tags":["starter","fire","value"],"contents":{"items":[{"id":"flame_sword","name":"Flame Sword","rarity":{"id":"rarity-uuid","name":"Epic"},"quantity":1}],"bundles":[],"currencies":[{"id":"arcadian_coins","name":"Arcadian Coins","rarity":{"id":"rarity-uuid","name":"Common"},"quantity":500}],"progressionMarkers":[]},"prices":[{"priceType":"virtual currency","price":100,"discount":0,"currencyDetails":{"id":"nexus_gems","name":"Nexus Gems","code":"NEX","rarity":{"id":"rarity-uuid","name":"Rare"}}}],"unlockConditions":{}}],"totalCount":1,"lastUpdate":"2023-10-15T12:00:00Z"}}},"Retrieve Gacha Bundles":{"summary":"Response for gacha bundles only","value":{"status":"success","code":200,"message":"Bundles list","errors":[],"data":{"bundles":[{"uuid":"bundle3-uuid","id":"mystery_chest","name":"Mystery Chest","description":"A chest containing random rewards.","iconUrl":"https://cdn.arcadianexus.com/icons/mystery_chest.png","isGacha":true,"rarity":{"id":"rarity-uuid","name":"Legendary"},"contents":{"items":[{"id":"rare_gem","name":"Rare Gem","rarity":{"id":"rarity-uuid","name":"Epic"},"probability":10},{"id":"common_coin","name":"Common Coin","rarity":{"id":"rarity-uuid","name":"Common"},"probability":90}],"bundles":[],"currencies":[],"progressionMarkers":[]},"tags":["gacha","mystery","random"]}],"totalCount":1,"lastUpdate":"2023-10-15T12:00:00Z"}}}}}}}},"security":[{"apiKey":[]}],"tags":["App"]}},"/v2/client/app/get-stores":{"post":{"operationId":"InventoryController_getClientStoresV2","summary":"Get stores (V2)","description":"Retrieve inventory stores with optional filtering and attributes. Supports pagination, search, filtering by store IDs and tags. Use the attributes parameter to include additional data like meta, tags, and unlock conditions. Each store includes platforms, locations, and category count.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetClientStoreV2Dto"},"examples":{"Retrieve All Stores":{"summary":"Retrieve All Stores with Default Information","description":"Get all stores with basic fields only","value":{}},"Retrieve Stores with Unlock Conditions":{"summary":"Retrieve Stores with Unlock Conditions","description":"Get stores with unlock requirements","value":{"attributes":["unlockConditions"]}},"Retrieve Specific Stores by IDs":{"summary":"Retrieve Specific Stores by IDs","description":"Get specific stores by providing their IDs","value":{"storeIds":["fire_emporium","forest_market"]}},"Retrieve Stores with All Attributes":{"summary":"Retrieve Stores with All Attributes","description":"Get stores with all available attributes","value":{"attributes":["meta","tags","unlockConditions","platforms","locations"]}},"Retrieve Stores Filtered by Tags":{"summary":"Retrieve Stores Filtered by Tags","description":"Filter stores by specific tags","value":{"includeTags":["featured","premium"],"attributes":["tags"]}}}}}},"responses":{"200":{"description":"Stores retrieved successfully","content":{"application/json":{"examples":{"Retrieve All Stores":{"summary":"Response for all stores","value":{"status":"success","code":200,"message":"Stores list","errors":[],"data":{"stores":[{"uuid":"store1-uuid","id":"fire_emporium","name":"Fire Emporium","description":"A store with fire-themed items.","iconUrl":"https://cdn.arcadianexus.com/icons/fire_emporium.png","categoriesCount":5},{"uuid":"store2-uuid","id":"forest_market","name":"Forest Market","description":"Nature-inspired goods and gear.","iconUrl":"https://cdn.arcadianexus.com/icons/forest_market.png","categoriesCount":4},{"uuid":"store3-uuid","id":"sky_bazaar","name":"Sky Bazaar","description":"Items from the skies.","iconUrl":"https://cdn.arcadianexus.com/icons/sky_bazaar.png","categoriesCount":3}],"totalCount":3,"lastUpdate":"2023-10-15T12:00:00Z"}}},"Retrieve Stores with Unlock Conditions":{"summary":"Response for stores with unlock conditions","value":{"status":"success","code":200,"message":"Stores list","errors":[],"data":{"stores":[{"uuid":"store1-uuid","id":"fire_emporium","name":"Fire Emporium","description":"A store with fire-themed items.","iconUrl":"https://cdn.arcadianexus.com/icons/fire_emporium.png","categoriesCount":5,"unlockConditions":{"unlockLevel":[{"lockedLevelNo":5,"unlockProgressionSystem":{"id":"player_level","levelName":"Player Level"}}]}},{"uuid":"store3-uuid","id":"sky_bazaar","name":"Sky Bazaar","description":"Items from the skies.","iconUrl":"https://cdn.arcadianexus.com/icons/sky_bazaar.png","categoriesCount":3,"unlockConditions":{"unlockLevel":[{"lockedLevelNo":20,"unlockProgressionSystem":{"id":"player_level","levelName":"Player Level"}}]}}],"totalCount":2,"lastUpdate":"2023-10-15T12:00:00Z"}}},"Retrieve Specific Stores by IDs":{"summary":"Response for specific stores by IDs","value":{"status":"success","code":200,"message":"Stores list","errors":[],"data":{"stores":[{"uuid":"store1-uuid","id":"fire_emporium","name":"Fire Emporium","description":"A store with fire-themed items.","iconUrl":"https://cdn.arcadianexus.com/icons/fire_emporium.png","categoriesCount":5},{"uuid":"store2-uuid","id":"forest_market","name":"Forest Market","description":"Nature-inspired goods and gear.","iconUrl":"https://cdn.arcadianexus.com/icons/forest_market.png","categoriesCount":4}],"totalCount":2,"lastUpdate":"2023-10-15T12:00:00Z"}}},"Retrieve Stores with All Attributes":{"summary":"Response for stores with all attributes","value":{"status":"success","code":200,"message":"Stores list","errors":[],"data":{"stores":[{"uuid":"store1-uuid","id":"fire_emporium","name":"Fire Emporium","description":"A store with fire-themed items.","iconUrl":"https://cdn.arcadianexus.com/icons/fire_emporium.png","categoriesCount":5,"meta":{"tier":"premium","featured":true},"tags":["fire","premium","featured"],"platforms":[{"id":1,"name":"android"},{"id":2,"name":"ios"}],"locations":[{"id":236,"name":"United States","code":"840"}],"unlockConditions":{"unlockLevel":[{"lockedLevelNo":5,"unlockProgressionSystem":{"id":"player_level","levelName":"Player Level"}}]}}],"totalCount":1,"lastUpdate":"2023-10-15T12:00:00Z"}}},"Retrieve Stores Filtered by Tags":{"summary":"Response for stores filtered by tags","value":{"status":"success","code":200,"message":"Stores list","errors":[],"data":{"stores":[{"uuid":"store1-uuid","id":"fire_emporium","name":"Fire Emporium","description":"A store with fire-themed items.","iconUrl":"https://cdn.arcadianexus.com/icons/fire_emporium.png","categoriesCount":5,"tags":["fire","premium","featured"]},{"uuid":"store3-uuid","id":"sky_bazaar","name":"Sky Bazaar","description":"Items from the skies.","iconUrl":"https://cdn.arcadianexus.com/icons/sky_bazaar.png","categoriesCount":3,"tags":["sky","premium","featured"]}],"totalCount":2,"lastUpdate":"2023-10-15T12:00:00Z"}}}}}}}},"security":[{"apiKey":[]}],"tags":["App"]}},"/v2/client/app/get-gacha-bundle-config":{"post":{"operationId":"InventoryController_getClientGachaBundleConfigV2","summary":"Get gacha bundle configuration (V2)","description":"Retrieve detailed configuration for a gacha bundle including all possible item drops with probabilities, rarity probability distribution, pity system settings, and draws per open. This endpoint is only for gacha bundles (isGacha: true).","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetClientGachaBundleConfigV2Dto"},"examples":{"basic":{"summary":"Get gacha bundle config","description":"Retrieve gacha bundle configuration by bundle ID","value":{"bundleId":"mystery-box"}}}}}},"responses":{"200":{"description":"Gacha bundle configuration retrieved successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"Gacha Bundle Config list","data":{"contents":{"items":[{"uuid":"item-uuid-1","id":"legendary-sword","name":"Legendary Sword","description":"A powerful legendary weapon","iconUrl":"https://cdn.example.com/sword.png","rarity":{"id":"rarity-uuid","name":"Legendary"},"probability":1,"minQuantity":1,"maxQuantity":1},{"uuid":"item-uuid-2","id":"epic-armor","name":"Epic Armor","description":"Strong protective armor","iconUrl":"https://cdn.example.com/armor.png","rarity":{"id":"rarity-uuid-2","name":"Epic"},"probability":5,"minQuantity":1,"maxQuantity":1},{"uuid":"item-uuid-3","id":"common-potion","name":"Health Potion","description":"Restores health","iconUrl":"https://cdn.example.com/potion.png","rarity":{"id":"rarity-uuid-4","name":"Common"},"probability":50,"minQuantity":1,"maxQuantity":5}]},"rarityProbabilities":[{"rarity":{"id":"rarity-uuid","name":"Legendary"},"probability":1},{"rarity":{"id":"rarity-uuid-2","name":"Epic"},"probability":5},{"rarity":{"id":"rarity-uuid-3","name":"Rare"},"probability":15},{"rarity":{"id":"rarity-uuid-4","name":"Common"},"probability":79}],"pitySystem":{"type":"counter","counterThreshold":50,"rateIncrement":0.5,"baseRateMultiplier":1,"maxRateMultiplier":2,"milestoneInterval":10,"guaranteedRarity":"legendary"},"drawsPerOpen":1},"errors":[]}}}}}},"security":[{"apiKey":[]}],"tags":["App"]}},"/v2/client/app/get-store-categories":{"post":{"operationId":"InventoryController_getStoreCategoryV2","summary":"Get store categories (V2)","description":"Retrieve categories for a specific store. Supports pagination, search, and filtering by category IDs. Each category includes content count and default status. Use this to build store navigation and category listings.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetStoreCategoriesV2Dto"},"examples":{"basic":{"summary":"Get all categories for a store","description":"Retrieve all categories from a store","value":{"storeId":"main-shop"}},"withPagination":{"summary":"Get categories with pagination","description":"Retrieve categories with pagination","value":{"storeId":"main-shop","offset":0,"limit":10}},"specificCategories":{"summary":"Get specific categories by IDs","description":"Retrieve only selected categories","value":{"storeId":"main-shop","categoryIds":["weapons","armor"]}},"withSearch":{"summary":"Search categories","description":"Search for categories by keyword","value":{"storeId":"main-shop","search":"weapon","limit":5}}}}}},"responses":{"200":{"description":"Store categories retrieved successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"Store Category list","data":{"storeCategories":[{"uuid":"category-uuid-1","id":"weapons","name":"Weapons","description":"All weapons available for purchase","iconUrl":"https://cdn.example.com/weapons-category.png","isDefault":false,"contentsCount":25},{"uuid":"category-uuid-2","id":"armor","name":"Armor","description":"Protective gear and armor sets","iconUrl":"https://cdn.example.com/armor-category.png","isDefault":false,"contentsCount":15},{"uuid":"category-uuid-3","id":"featured","name":"Featured","description":"Featured items and bundles","iconUrl":"https://cdn.example.com/featured-category.png","isDefault":true,"contentsCount":10}],"lastUpdate":"2024-01-15T10:30:00.000Z"},"errors":[]}}}}}},"security":[{"apiKey":[]}],"tags":["App"]}},"/v2/client/app/get-store-category-contents":{"post":{"operationId":"InventoryController_getStoreContentsV2","summary":"Get store category contents (V2)","description":"Retrieve items and bundles within a store category with full pricing details. Supports pagination, filtering by category, and optional bundle contents expansion. Each item/bundle includes prices with detailed currency information.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetStoreCategoryContentsV2Dto"},"examples":{"basic":{"summary":"Get all contents for a store category","description":"Retrieve items and bundles from a specific category","value":{"storeId":"main-shop","categoryId":"weapons"}},"withPagination":{"summary":"Get contents with pagination","description":"Retrieve contents with pagination limits","value":{"storeId":"main-shop","categoryId":"weapons","offset":0,"limit":20}},"withBundleContents":{"summary":"Get contents with bundle details","description":"Retrieve bundles with expanded contents (items, bundles, currencies)","value":{"storeId":"main-shop","categoryId":"bundles","attributes":["bundles.contents"]}}}}}},"responses":{"200":{"description":"Gacha bundle configuration retrieved successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"Gacha Bundle Config list","data":{"contents":{"items":[{"uuid":"item-uuid-1","id":"legendary-sword","name":"Legendary Sword","description":"A powerful legendary weapon","iconUrl":"https://cdn.example.com/sword.png","rarity":{"id":"rarity-uuid","name":"Legendary"},"probability":1,"minQuantity":1,"maxQuantity":1},{"uuid":"item-uuid-2","id":"epic-armor","name":"Epic Armor","description":"Strong protective armor","iconUrl":"https://cdn.example.com/armor.png","rarity":{"id":"rarity-uuid-2","name":"Epic"},"probability":5,"minQuantity":1,"maxQuantity":1},{"uuid":"item-uuid-3","id":"common-potion","name":"Health Potion","description":"Restores health","iconUrl":"https://cdn.example.com/potion.png","rarity":{"id":"rarity-uuid-4","name":"Common"},"probability":50,"minQuantity":1,"maxQuantity":5}]},"rarityProbabilities":[{"rarity":{"id":"rarity-uuid","name":"Legendary"},"probability":1},{"rarity":{"id":"rarity-uuid-2","name":"Epic"},"probability":5},{"rarity":{"id":"rarity-uuid-3","name":"Rare"},"probability":15},{"rarity":{"id":"rarity-uuid-4","name":"Common"},"probability":79}],"pitySystem":{"type":"counter","counterThreshold":50,"rateIncrement":0.5,"baseRateMultiplier":1,"maxRateMultiplier":2,"milestoneInterval":10,"guaranteedRarity":"legendary"},"drawsPerOpen":1},"errors":[]}}}}}},"security":[{"apiKey":[]}],"tags":["App"]}},"/v2/client/inventory/add":{"post":{"operationId":"UserInventoryController_addInventoryV2","summary":"Add items to inventory","description":"Add items and bundles to user inventory","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddUserInventoryV2Dto"},"examples":{"Add a Single Item":{"summary":"Add a Single Item","description":"Add one item to user inventory","value":{"items":[{"id":"flame_sword","amount":1}]}},"Add Multiple Items with Different Quantities":{"summary":"Add Multiple Items with Different Quantities","description":"Add multiple items with custom parameters","value":{"items":[{"id":"healing_potion","amount":5},{"id":"forest_map","amount":1},{"id":"mystical_seeds","amount":10,"customParams":{"potency":"high","origin":"ancient_grove"}}]}},"Add Bundle and Items to Collection":{"summary":"Add Bundle and Items to Collection","description":"Add bundles and items with collection assignment","value":{"bundles":[{"id":"cyber_hacker_toolkit","amount":1,"customParams":{"edition":"premium","unlocked_features":["advanced_decryption","remote_access"]}}],"items":[{"id":"digital_key","amount":3,"collectionId":"cyber_district_access"},{"id":"data_fragment","amount":20,"collectionId":"cyber_district_access"}]}}}}}},"responses":{"200":{"description":"Items added to inventory successfully","content":{"application/json":{"examples":{"Add a Single Item":{"summary":"Single item added","value":{"code":200,"status":"success","message":"Successfully added to User Inventory","data":{},"errors":[]}},"Add Multiple Items with Different Quantities":{"summary":"Multiple items added","value":{"code":200,"status":"success","message":"Successfully added to User Inventory","data":{},"errors":[]}},"Add Bundle and Items to Collection":{"summary":"Bundle and items added","value":{"code":200,"status":"success","message":"Successfully added to User Inventory","data":{},"errors":[]}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Inventory"]}},"/v2/client/inventory/open-bundle":{"post":{"operationId":"UserInventoryController_openBundleV2","summary":"Open bundle","description":"Open a bundle from inventory to receive its contents","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenBundleDto"},"examples":{"Open a Standard Mystery Chest":{"summary":"Open a Standard Mystery Chest","description":"Open a basic bundle using instance ID","value":{"instanceId":"c37e2a18-9d5f-4b8c-a651-d72834f6b921","id":"mystery_chest_basic"}},"Open a Realm-Specific Bundle with Collection ID":{"summary":"Open a Realm-Specific Bundle with Collection ID","description":"Open a bundle from a specific collection","value":{"instanceId":"f482b6d1-7e35-4c90-b8a3-92f6d4e78c15","id":"fire_realm_cache","collectionId":"realm_treasures"}},"Open a Premium Bundle with Custom Parameters":{"summary":"Open a Premium Bundle with Custom Parameters","description":"Open a bundle with custom parameters for personalized rewards","value":{"instanceId":"a92c5d34-6f17-48b2-9e0d-3b7c91ae5d8f","id":"cyber_district_loot_box","customParams":{"player_level":25,"playstyle_preference":"hacker","acquisition_source":"special_event"}}}}}}},"responses":{"200":{"description":"Bundle opened successfully","content":{"application/json":{"examples":{"Open a Standard Mystery Chest":{"summary":"Mystery chest opened","value":{"code":200,"status":"success","message":"Bundle opened successfully","data":{},"errors":[]}},"Open a Realm-Specific Bundle with Collection ID":{"summary":"Realm bundle opened","value":{"code":200,"status":"success","message":"Bundle opened successfully","data":{},"errors":[]}},"Open a Premium Bundle with Custom Parameters":{"summary":"Premium bundle opened","value":{"code":200,"status":"success","message":"Bundle opened successfully","data":{},"errors":[]}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Inventory"]}},"/v2/client/inventory/open-gacha-bundle":{"post":{"operationId":"UserInventoryController_openGachaBundleV2","summary":"Open gacha bundle","description":"Open a gacha bundle with randomized rewards","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenGachaBundleV2Dto"},"examples":{"Open Gacha Bundle":{"summary":"Open Gacha Bundle","description":"Open a gacha bundle using instance ID","value":{"id":"Gacha_test_22","instanceId":"ee58e087-beae-4dc3-bb93-8d09ae1a867d"}}}}}},"responses":{"200":{"description":"Gacha bundle opened successfully","content":{"application/json":{"schema":{"example":{"code":200,"status":"success","message":"Bundle opened successfully","data":{},"errors":[]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Inventory"]}},"/v2/client/inventory/get-pity-status":{"post":{"operationId":"UserInventoryController_getGachaPityStatus","summary":"Get pity status","description":"Get gacha pity status for a bundle","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPityStatusV2"},"examples":{"Get Pity Status":{"summary":"Get Pity Status","description":"Get gacha pity status for a bundle","value":{"bundleId":"Gacha_test_22"}}}}}},"responses":{"200":{"description":"Gacha pity status retrieved successfully","content":{"application/json":{"schema":{"example":{"code":200,"status":"success","message":"Gacha pity status retrieved successfully","data":{},"errors":[]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Inventory"]}},"/v2/client/inventory/remove":{"post":{"operationId":"UserInventoryController_removeUserInventoryV2","summary":"Remove items from inventory","description":"Remove items and bundles from user inventory","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoveUserInventoryV2Dto"},"examples":{"Remove a Single Item by Instance ID":{"summary":"Remove a Single Item by Instance ID","description":"Remove a specific item using its instance ID","value":{"items":[{"instanceId":"f8a7d632-9b1c-4e34-81a2-5c6f8e9d4b31"}]}},"Remove Multiple Items by Type and Quantity":{"summary":"Remove Multiple Items by Type and Quantity","description":"Remove multiple items by their type ID and amount","value":{"items":[{"id":"healing_potion","amount":3},{"id":"fire_crystal","amount":5},{"id":"digital_key","amount":1,"collectionId":"cyber_district_access"}]}},"Remove Bundle with Custom Parameters":{"summary":"Remove Bundle with Custom Parameters","description":"Remove a bundle with custom parameters","value":{"bundles":[{"id":"enchanted_gear_set","amount":1,"customParams":{"enchantment_level":"rare","element_type":"fire"}}]}}}}}},"responses":{"201":{"description":"Items removed from inventory successfully","content":{"application/json":{"examples":{"Remove a Single Item by Instance ID":{"summary":"Single item removed","value":{"status":"success","code":201,"message":"Successfully removed from inventory","errors":[],"data":{}}},"Remove Multiple Items by Type and Quantity":{"summary":"Multiple items removed","value":{"status":"success","code":201,"message":"Successfully removed from inventory","errors":[],"data":{}}},"Remove Bundle with Custom Parameters":{"summary":"Bundle removed","value":{"status":"success","code":201,"message":"Successfully removed from inventory","errors":[],"data":{}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Inventory"]}},"/v2/client/inventory/equip-unequip":{"post":{"operationId":"UserInventoryController_equipItemFromUserInventoryV2","summary":"Equip or unequip item","description":"Equip or unequip items from user inventory","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EquipUnequipItemV2Dto"},"examples":{"Equip a Specific Item by Instance ID":{"summary":"Equip a Specific Item by Instance ID","description":"Equip a specific item using its instance ID","value":{"items":[{"instanceId":"a9c7d832-5b2e-48f1-93a5-7e8d9f6b40c2","shouldEquip":true}]}},"Equip Multiple Items by Type":{"summary":"Equip Multiple Items by Type","description":"Equip multiple items at once (e.g., full armor set)","value":{"items":[{"id":"crystal_helmet","shouldEquip":true},{"id":"crystal_chestplate","shouldEquip":true},{"id":"crystal_leggings","shouldEquip":true},{"id":"crystal_boots","shouldEquip":true}]}},"Unequip an Item with Custom Parameters":{"summary":"Unequip an Item with Custom Parameters","description":"Unequip an item from a specific collection with custom parameters","value":{"items":[{"id":"cyber_enhancement","collectionId":"cyber_augmentations","shouldEquip":false,"customParams":{"slot":"neural_implant","save_settings":true}}]}}}}}},"responses":{"200":{"description":"Item equipped or unequipped successfully","content":{"application/json":{"examples":{"Equip a Specific Item by Instance ID":{"summary":"Item equipped","value":{"code":200,"status":"success","message":"Item equipped or unequipped successfully","errors":[],"data":{}}},"Equip Multiple Items by Type":{"summary":"Multiple items equipped","value":{"code":200,"status":"success","message":"Item equipped or unequipped successfully","errors":[],"data":{}}},"Unequip an Item with Custom Parameters":{"summary":"Item unequipped","value":{"code":200,"status":"success","message":"Item equipped or unequipped successfully","errors":[],"data":{}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Inventory"]}},"/v2/client/inventory/consume-item":{"post":{"operationId":"UserInventoryController_consumeItemFromUserInventoryV2","summary":"Consume item","description":"Consume items from user inventory","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsumeItemV2Dto"},"examples":{"Consume a Single Item by Instance ID":{"summary":"Consume a Single Item by Instance ID","description":"Consume a specific item using its instance ID","value":{"items":[{"instanceId":"e7c8d912-3a4b-56c7-89d0-1e2f3a4b5c6d"}]}},"Consume Multiple Items by Type and Amount":{"summary":"Consume Multiple Items by Type and Amount","description":"Consume multiple items with custom parameters","value":{"items":[{"id":"healing_potion","amount":2},{"id":"mana_elixir","amount":1},{"id":"strength_boost","amount":1,"customParams":{"effect_duration":"extended","power_level":"maximum"}}]}},"Consume Items from a Specific Collection":{"summary":"Consume Items from a Specific Collection","description":"Consume items from a specific collection","value":{"items":[{"id":"forest_fruit","amount":3,"collectionId":"forest_consumables"}]}}}}}},"responses":{"200":{"description":"Item consumed successfully","content":{"application/json":{"examples":{"Consume a Single Item by Instance ID":{"summary":"Single item consumed","value":{"code":200,"data":{},"errors":[],"message":"Item consumed successfully","status":"success"}},"Consume Multiple Items by Type and Amount":{"summary":"Multiple items consumed","value":{"code":200,"data":{},"errors":[],"message":"Item consumed successfully","status":"success"}},"Consume Items from a Specific Collection":{"summary":"Items from collection consumed","value":{"code":200,"data":{},"errors":[],"message":"Item consumed successfully","status":"success"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Inventory"]}},"/v2/client/player/me/get-inventory":{"post":{"operationId":"UserInventoryController_getMyInventoryV2","summary":"Get my inventory","description":"Get inventory items and bundles for the authenticated user","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMyInventoryV2Dto"},"examples":{"Get All Inventory":{"summary":"Get All Inventory","description":"Get all inventory items and bundles for the authenticated user","value":{}},"With Pagination":{"summary":"With Pagination","description":"Get inventory with pagination","value":{"limit":10,"offset":0}},"Filter by Collection":{"summary":"Filter by Collection","description":"Get inventory items from a specific collection","value":{"collectionId":"default","limit":10,"offset":0}},"Filter by Item IDs":{"summary":"Filter by Item IDs","description":"Get specific items by their IDs","value":{"itemIds":["cinema","12485","35349"],"limit":10,"offset":0}},"Filter by Bundle IDs":{"summary":"Filter by Bundle IDs","description":"Get specific bundles by their IDs","value":{"bundleIds":["starter_pack","premium_bundle"],"limit":10,"offset":0}},"Search Inventory":{"summary":"Search Inventory","description":"Search inventory items by name","value":{"search":"sword","limit":10,"offset":0}}}}}},"responses":{"200":{"description":"Inventory retrieved successfully","content":{"application/json":{"schema":{"example":{"code":200,"status":"success","message":"My Inventory data","data":{"items":[{"instanceId":"ff4da6cd-f82f-45c0-9bee-dda39efcc52c","uuid":"179235d8-df70-498c-8c6e-6d29a0f9346a","id":"cinema","name":"Cinema","description":"Watch videos with your friends!","iconUrl":"https://playstarz-staging.s3.ap-south-1.amazonaws.com/19f4771e-f491-4694-a212-44ff6177bfb7image.png","totalUsesAvailable":null,"isEquipped":false,"quantity":1,"collectionId":"default","stackId":"default"},{"instanceId":"1f4b5a51-a718-447f-9fd2-c6011637a205","uuid":"637f5939-3896-4a3f-b334-e7a8869b2061","id":"12485","name":"Male_TEST","description":"Male_Test","iconUrl":"https://playstarz-staging.s3.ap-south-1.amazonaws.com/57e2991c-6b57-45c4-a62f-0d264ec7e510image.png","totalUsesAvailable":null,"isEquipped":true,"quantity":1,"collectionId":"default","stackId":"default"},{"instanceId":"d7a8ab26-e08f-4a4c-874e-1cfa9ac1cd44","uuid":"053cacf4-d9d4-45b1-8614-866fec579662","id":"35349","name":"Radiant Orange Running Shorts","description":null,"iconUrl":"https://playstarz-staging.s3.ap-south-1.amazonaws.com/940e86c5-1407-4208-80e8-09e3d5380a02image.jpg","totalUsesAvailable":null,"isEquipped":true,"quantity":1,"collectionId":"default","stackId":"default"}],"bundles":[],"totalItemsCount":101,"totalBundlesCount":1},"errors":[]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["My Player"]}},"/v2/client/player/get-inventory":{"post":{"operationId":"UserInventoryController_getPlayerInventoryV2","summary":"Get player inventory","description":"Get inventory items and bundles for a specific player","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"userId":{"type":"string","description":"User ID to get inventory for","example":"player-123"},"attributes":{"type":"array","items":{"type":"string"},"description":"Attributes to include","example":[]},"limit":{"type":"number","description":"Number of items to fetch","example":10},"offset":{"type":"number","description":"Offset for pagination","example":0}},"required":["userId"]},"examples":{"Get Player Inventory":{"summary":"Get Player Inventory","description":"Get inventory for a specific player","value":{"userId":"player-123"}}}}}},"responses":{"200":{"description":"Player inventory retrieved successfully","content":{"application/json":{"schema":{"example":{"code":200,"status":"success","message":"Player Inventory data","data":{"items":[{"instanceId":"ff4da6cd-f82f-45c0-9bee-dda39efcc52c","uuid":"179235d8-df70-498c-8c6e-6d29a0f9346a","id":"cinema","name":"Cinema","description":"Watch videos with your friends!","iconUrl":"https://playstarz-staging.s3.ap-south-1.amazonaws.com/19f4771e-f491-4694-a212-44ff6177bfb7image.png","totalUsesAvailable":null,"isEquipped":false,"quantity":1,"collectionId":"default","stackId":"default"}],"bundles":[],"totalItemsCount":10,"totalBundlesCount":0},"errors":[]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Player Others"]}},"/v2/client/player/me/get-collections":{"post":{"operationId":"UserInventoryController_getMyCollectionsV2","summary":"Get my collections","description":"Get collections for the authenticated user","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMyCollectionsV2Dto"},"examples":{"Get All Collections":{"summary":"Get All Collections","description":"Get all collections for the authenticated user","value":{}},"With Pagination":{"summary":"With Pagination","description":"Get collections with pagination","value":{"limit":10,"offset":0}}}}}},"responses":{"200":{"description":"Collections retrieved successfully","content":{"application/json":{"schema":{"example":{"code":200,"status":"success","message":"My Collections List","data":{"collections":["default"],"totalCount":1},"errors":[]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["My Player"]}},"/v2/client/player/get-collections":{"post":{"operationId":"UserInventoryController_getPlayerCollectionsV2","summary":"Get player collections","description":"Get collections for a specific player","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"userId":{"type":"string","description":"User ID to get collections for","example":"player-123"}},"required":["userId"]},"examples":{"Get Player Collections":{"summary":"Get Player Collections","description":"Get collections for a specific player","value":{"userId":"player-123"}}}}}},"responses":{"200":{"description":"Player collections retrieved successfully","content":{"application/json":{"schema":{"example":{"code":200,"status":"success","message":"Player Collections List","data":{"collections":["default"],"totalCount":1},"errors":[]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Player Others"]}},"/v2/client/achievements/force-complete":{"post":{"operationId":"TaskController_forceCompleteTaskV2","summary":"Force complete a task/achievement","description":"Force completes a task for the authenticated user. Bypasses normal completion criteria and immediately marks the task as complete. Requires exactly 1 task ID. Optionally returns full reward details.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForceCompleteTaskV2Dto"},"examples":{"basic":{"summary":"Basic Force Complete","description":"Mark task as completed without reward details in response","value":{"taskIds":["task-123"]}},"withRewardData":{"summary":"Force Complete with Reward Data","description":"Mark task as completed and return full reward details","value":{"taskIds":["task-123"],"getRewardDataInResponse":true}},"withCustomParams":{"summary":"With Custom Parameters","description":"Force complete with custom tracking parameters","value":{"taskIds":["task-123"],"getRewardDataInResponse":true,"customParams":{"source":"admin_grant","reason":"compensation"}}}}}}},"responses":{"200":{"description":"Task force completed successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"Force Complete Task List","errors":[],"data":[{"uuid":"550e8400-e29b-41d4-a716-446655440000","id":"task-123","name":"Daily Login","description":"Log in to receive rewards","iconUrl":"https://cdn.example.com/task-icon.png","taskGroupDetails":{"uuid":"group-uuid","id":"taskgroup-123","name":"Daily Challenges","description":"Complete daily tasks","iconUrl":"https://cdn.example.com/group-icon.png","taskGroupType":"mission"},"rewardDetails":{"items":[{"uuid":"item-uuid","id":"item-123","name":"Reward Box","description":"Contains random rewards","iconUrl":"https://cdn.example.com/item.png","rarity":{"id":"rarity-uuid","name":"Common"},"amount":1}],"bundles":[],"currencies":[{"uuid":"currency-uuid","id":"gold-coins","name":"Gold Coins","description":"In-game currency","iconUrl":"https://cdn.example.com/gold.png","rarity":null,"code":"GLD","type":"soft","amount":500}],"progressionMarkers":[{"uuid":"marker-uuid","id":"player-xp","name":"Experience","description":"Player experience points","iconUrl":"https://cdn.example.com/xp.png","rarity":{"id":1,"name":"Common"},"amount":100}]}}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]},{"apiKey":[]},{"bearer":[]}],"tags":["Achievements"]}},"/v2/client/achievements/grant-rewards":{"post":{"operationId":"TaskController_grantRewardClientV2","summary":"Grant rewards to user","description":"Grants rewards to the authenticated user from various sources (tasks, levels, tournaments, etc.). Allows granting items, bundles, currencies, and progression markers with full control over amounts and bypass flags.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrantRewardDto"},"examples":{"taskRewards":{"summary":"Grant Task Rewards","description":"Grant rewards from a task source","value":{"rewardDetails":[{"source":{"id":"task-123","type":"task"},"rewards":{"currencies":[{"id":"gold-coins","amount":500}],"items":[{"id":"item-123","amount":1}]}}]}},"multipleSourcesRewards":{"summary":"Grant from Multiple Sources","description":"Grant rewards from both task and level sources","value":{"rewardDetails":[{"source":{"id":"task-123","type":"task"},"rewards":{"currencies":[{"id":"gold-coins","amount":500}]}},{"source":{"id":"level-5","type":"level"},"rewards":{"items":[{"id":"level-reward-box","amount":1}],"progressionMarkers":[{"id":"player-xp","amount":100}]}}]}},"withBypassFlags":{"summary":"Grant with Bypass Flags","description":"Grant rewards bypassing lock and limited edition restrictions","value":{"rewardDetails":[{"source":{"id":"tournament-weekly","type":"tournament","instanceId":"550e8400-e29b-41d4-a716-446655440000"},"rewards":{"items":[{"id":"limited-edition-trophy","amount":1,"bypassLimitedEdition":true}]},"bypassLockCondition":true}]}}}}}},"responses":{"200":{"description":"Rewards granted successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"Rewards Granted successfully","errors":[],"data":{"items":[{"uuid":"item-uuid","id":"item-123","name":"Reward Box","description":"Contains random rewards","iconUrl":"https://cdn.example.com/item.png","amount":1}],"bundles":[],"currencies":[{"uuid":"currency-uuid","id":"gold-coins","name":"Gold Coins","description":"In-game currency","iconUrl":"https://cdn.example.com/gold.png","code":"GLD","type":"soft","amount":500}],"progressionMarkers":[{"uuid":"marker-uuid","id":"player-xp","name":"Experience","description":"Player experience points","iconUrl":"https://cdn.example.com/xp.png","amount":100}]}}}}}},"207":{"description":"Rewards partially granted (some failed)","content":{"application/json":{"schema":{"example":{"status":"multi-status","code":207,"message":"Rewards partially granted successfully.","errors":[],"data":{"items":[],"bundles":[],"currencies":[{"uuid":"currency-uuid","id":"gold-coins","name":"Gold Coins","amount":500}],"progressionMarkers":[],"failedRewards":[{"id":"item-123","amount":1,"message":"Item is not added to collection","reason":"ITEM_NOT_IN_COLLECTION","code":1053}]}}}}}}},"security":[{"apiKey":[]},{"bearer":[]},{"apiKey":[]},{"bearer":[]}],"tags":["Achievements"]}},"/v2/client/achievements/grant-reward-by-source":{"post":{"operationId":"TaskController_grantRewardBySourceV2","summary":"Grant rewards by source","description":"Grants rewards to the authenticated user based on source definitions. Fetches pending rewards configured for the specified sources (tasks, tournaments, levels, etc.) and grants them automatically.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrantRewardBySourceV2Dto"},"examples":{"singleTask":{"summary":"Grant from Single Task","description":"Grant all configured rewards from a task source","value":{"sources":[{"id":"task-123","type":"task"}]}},"multipleSources":{"summary":"Grant from Multiple Sources","description":"Grant rewards from task, tournament, and level sources","value":{"sources":[{"id":"task-123","type":"task"},{"id":"tournament-weekly","type":"tournament","instanceId":"550e8400-e29b-41d4-a716-446655440000"},{"id":"level-5","type":"level"}]}},"withBypassFlags":{"summary":"Grant with Bypass Flags","description":"Grant battlepass rewards bypassing restrictions","value":{"sources":[{"id":"battlepass-season1","type":"battlepass","bypassLockCondition":true,"bypassLimitedEdition":true}]}}}}}},"responses":{"200":{"description":"Rewards granted by source successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"Rewards granted by source successfully","errors":[],"data":{"items":[{"uuid":"item-uuid","id":"item-123","name":"Reward Box","description":"Contains random rewards","iconUrl":"https://cdn.example.com/item.png","amount":1}],"bundles":[],"currencies":[{"uuid":"currency-uuid","id":"gold-coins","name":"Gold Coins","description":"In-game currency","iconUrl":"https://cdn.example.com/gold.png","code":"GLD","type":"soft","amount":500}],"progressionMarkers":[{"uuid":"marker-uuid","id":"player-xp","name":"Experience","description":"Player experience points","iconUrl":"https://cdn.example.com/xp.png","amount":100}]}}}}}},"207":{"description":"Rewards partially granted (some sources failed)","content":{"application/json":{"schema":{"example":{"status":"multi-status","code":207,"message":"Rewards by source partially granted successfully","errors":[],"data":{"items":[],"bundles":[],"currencies":[{"uuid":"currency-uuid","id":"gold-coins","name":"Gold Coins","amount":500}],"progressionMarkers":[],"failedRewards":[{"source":{"id":"task-123","type":"task","instanceId":null},"itemsFailed":[{"id":"item-123","amount":1,"message":"Item is not added to collection","reason":"ITEM_NOT_IN_COLLECTION","code":1053}],"bundlesFailed":[],"currenciesFailed":[],"progressionMarkersFailed":[]}]}}}}}}},"security":[{"apiKey":[]},{"bearer":[]},{"apiKey":[]},{"bearer":[]}],"tags":["Achievements"]}},"/v2/client/achievements/grant-reward-by-source-overrides":{"post":{"operationId":"TaskController_grantRewardBySourceOverridesV2","summary":"Grant rewards by source with overrides","description":"Grants rewards to the authenticated user from sources with custom overrides. Unlike grant-reward-by-source, this allows you to override the default reward amounts and types configured for the source.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrantRewardBySourceOverridesV2Dto"},"examples":{"overrideAmounts":{"summary":"Override Reward Amounts","description":"Grant custom amounts instead of source defaults","value":{"sources":[{"id":"task-123","type":"task","overrides":{"currencies":[{"id":1,"amount":1000}],"items":[{"id":"item-123","amount":5}]}}]}},"multipleSourcesOverrides":{"summary":"Multiple Sources with Different Overrides","description":"Override rewards for multiple sources","value":{"sources":[{"id":"task-123","type":"task","overrides":{"currencies":[{"id":1,"amount":500}]}},{"id":"tournament-weekly","type":"tournament","instanceId":"550e8400-e29b-41d4-a716-446655440000","overrides":{"items":[{"id":"trophy-gold","amount":1,"bypassLimitedEdition":true}],"progressionMarkers":[{"id":1,"amount":500}]}}]}},"withCollectionStack":{"summary":"Override with Collection and Stack","description":"Grant items to specific collections and stacks","value":{"sources":[{"id":"level-10","type":"level","overrides":{"items":[{"id":"rare-sword","amount":1,"collectionId":"weapons-collection","stackId":"stack-001"}],"bundles":[{"id":"starter-bundle","amount":1,"collectionId":"bundles-collection"}]}}]}}}}}},"responses":{"200":{"description":"Rewards granted by source overrides successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"Rewards granted by source overrides successfully","errors":[],"data":{"items":[{"uuid":"item-uuid","id":"item-123","name":"Reward Box","description":"Contains random rewards","iconUrl":"https://cdn.example.com/item.png","amount":5}],"bundles":[],"currencies":[{"uuid":"currency-uuid","id":"gold-coins","name":"Gold Coins","description":"In-game currency","iconUrl":"https://cdn.example.com/gold.png","code":"GLD","type":"soft","amount":1000}],"progressionMarkers":[]}}}}}},"207":{"description":"Rewards partially granted (some overrides failed)","content":{"application/json":{"schema":{"example":{"status":"multi-status","code":207,"message":"Rewards by source overrides partially granted successfully","errors":[],"data":{"items":[],"bundles":[],"currencies":[{"uuid":"currency-uuid","id":"gold-coins","name":"Gold Coins","amount":1000}],"progressionMarkers":[],"failedRewards":[{"source":{"id":"task-123","type":"task","instanceId":null},"itemsFailed":[{"id":"item-123","amount":5,"message":"Item is not added to collection","reason":"ITEM_NOT_IN_COLLECTION","code":1053}],"bundlesFailed":[],"currenciesFailed":[],"progressionMarkersFailed":[]}]}}}}}}},"security":[{"apiKey":[]},{"bearer":[]},{"apiKey":[]},{"bearer":[]}],"tags":["Achievements"]}},"/v2/client/achievements/grant-reward-batch":{"post":{"operationId":"TaskController_grantRewardBatchV2","summary":"Grant multiple rewards in batch","description":"Grants multiple rewards of different types to the authenticated user in a single batch request. Unlike source-based APIs, this endpoint allows you to directly specify what rewards to grant without referencing a source.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrantRewardBatchV2Dto"},"examples":{"multipleRewardTypes":{"summary":"Grant Multiple Reward Types","description":"Grant items, bundles, currencies, and progression markers in one call","value":{"rewards":{"items":[{"id":"item-123","amount":5},{"id":"item-456","amount":3}],"bundles":[{"id":"starter-bundle","amount":1}],"currencies":[{"id":1,"amount":1000},{"id":2,"amount":50}],"progressionMarkers":[{"id":1,"amount":500}]}}},"withGlobalBypassFlags":{"summary":"Grant with Global Bypass Flags","description":"Grant items bypassing all lock and limited edition restrictions","value":{"rewards":{"items":[{"id":"limited-item","amount":1},{"id":"locked-item","amount":2}]},"bypassLockCondition":true,"bypassLimitedEdition":true}},"itemsToCollections":{"summary":"Grant Items to Specific Collections","description":"Grant items to specific inventory collections and stacks","value":{"rewards":{"items":[{"id":"rare-sword","amount":1,"collectionId":"weapons-collection","stackId":"stack-001"},{"id":"epic-shield","amount":1,"collectionId":"armor-collection"}]}}},"currenciesOnly":{"summary":"Grant Only Currencies","description":"Grant currencies without any items or bundles","value":{"rewards":{"currencies":[{"id":1,"amount":100},{"id":2,"amount":10}]}}}}}}},"responses":{"200":{"description":"Rewards granted in batch successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"Rewards granted in batch successfully","errors":[],"data":{"grantedRewards":{"currencies":[{"id":"gold-coins","name":"Gold Coins","amount":500,"newBalance":1500}],"items":[{"id":"item-123","name":"Health Potion","amount":2,"instanceIds":["inst-1","inst-2"]}],"bundles":[],"progressionMarkers":[]}}}}}}},"207":{"description":"Rewards partially granted (some failed)","content":{"application/json":{"schema":{"example":{"status":"multi-status","code":207,"message":"Rewards in batch partially granted successfully","errors":[],"data":{"items":[],"bundles":[],"currencies":[{"uuid":"currency-uuid","id":"gold-coins","name":"Gold Coins","amount":1000}],"progressionMarkers":[],"failedRewards":[{"source":{"id":null,"type":"custom","instanceId":"batch-request-uuid"},"itemsFailed":[{"id":"item-123","amount":5,"message":"Item is not added to collection","reason":"ITEM_NOT_IN_COLLECTION","code":1053}],"bundlesFailed":[],"currenciesFailed":[],"progressionMarkersFailed":[]}]}}}}}}},"security":[{"apiKey":[]},{"bearer":[]},{"apiKey":[]},{"bearer":[]}],"tags":["Achievements"]}},"/v2/client/achievements/grant-reward-single":{"post":{"operationId":"TaskController_grantRewardSingleV2","summary":"Grant a single reward","description":"Grants a single reward of a specific type to the authenticated user. This is the simplest reward granting endpoint, designed for granting one item, bundle, currency, or progression marker at a time.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrantRewardSingleV2Dto"},"examples":{"singleItem":{"summary":"Grant a Single Item","description":"Grant 1 item to the user","value":{"type":"item","id":"item-123","amount":1}},"bundle":{"summary":"Grant a Bundle","description":"Grant a starter bundle to the user","value":{"type":"bundle","id":"starter-bundle","amount":1}},"currency":{"summary":"Grant Currency","description":"Grant 500 gold coins to the user","value":{"type":"currency","id":"gold-coins","amount":500}},"progressionMarker":{"summary":"Grant Progression Marker","description":"Grant 100 XP to the user","value":{"type":"progressionMarker","id":"player-xp","amount":100}},"itemToCollection":{"summary":"Grant Item to Specific Collection","description":"Grant item to a specific collection and stack","value":{"type":"item","id":"rare-sword","amount":1,"collectionId":"weapons-collection","stackId":"stack-001"}},"limitedEditionBypass":{"summary":"Grant Limited Edition Item with Bypass","description":"Grant limited edition item bypassing all restrictions","value":{"type":"item","id":"limited-skin","amount":1,"bypassLockCondition":true,"bypassLimitedEdition":true}}}}}},"responses":{"200":{"description":"Reward granted successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"Reward granted successfully","errors":[],"data":{"items":[{"uuid":"item-uuid","id":"item-123","name":"Reward Box","description":"Contains random rewards","iconUrl":"https://cdn.example.com/item.png","amount":1}],"bundles":[],"currencies":[],"progressionMarkers":[]}}}}}},"207":{"description":"Reward partially granted (failed)","content":{"application/json":{"schema":{"example":{"status":"multi-status","code":207,"message":"Reward partially granted successfully","errors":[],"data":{"items":[],"bundles":[],"currencies":[],"progressionMarkers":[],"failedRewards":[{"source":{"id":null,"type":"custom","instanceId":"single-request-uuid"},"itemsFailed":[{"id":"item-123","amount":1,"message":"Item is not added to collection","reason":"ITEM_NOT_IN_COLLECTION","code":1053}],"bundlesFailed":[],"currenciesFailed":[],"progressionMarkersFailed":[]}]}}}}}}},"security":[{"apiKey":[]},{"bearer":[]},{"apiKey":[]},{"bearer":[]}],"tags":["Achievements"]}},"/v2/client/app/get-tasks":{"post":{"operationId":"TaskController_getMasterTasksV2","summary":"Get tasks with optional attributes","description":"Retrieves tasks with configurable attributes (meta, businessLogic, rewardDetails, linkedRewardDetails, tags, schedule, parameters, unlockConditions). Supports filtering by taskIds, tags, and schedule status. Optionally includes tasks from task groups.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMasterTasksV2Dto"},"examples":{"Minimal Request":{"summary":"Minimal Request","description":"Returns first 10 standalone tasks with base fields only","value":{}},"With Filters":{"summary":"With Filters","description":"Filter by tags and schedule status","value":{"includeTags":["daily","featured"],"scheduleStatuses":["in progress"],"attributes":["tags","rewardDetails","schedule"]}},"Full Attributes":{"summary":"Full Attributes","description":"Request all available attributes","value":{"attributes":["meta","businessLogic","rewardDetails","linkedRewardDetails","tags","schedule","parameters","unlockConditions"],"includeTaskGroupTasks":true,"offset":0,"limit":20}}}}}},"responses":{"200":{"description":"Tasks retrieved successfully","content":{"application/json":{"examples":{"Minimal Request":{"summary":"Response for minimal request","value":{"status":"success","code":200,"message":"Get all tasks","data":{"tasks":[{"uuid":"550e8400-e29b-41d4-a716-446655440000","id":"task-123","name":"Daily Login","description":"Log in to receive rewards","iconUrl":"https://cdn.example.com/task-icon.png","sortingOrder":1,"event":{"id":"event-uuid","name":"login"},"taskGroupDetails":null},{"uuid":"550e8400-e29b-41d4-a716-446655440001","id":"task-456","name":"Play 5 Games","description":"Complete 5 games","iconUrl":null,"sortingOrder":2,"event":{"id":"event-uuid-2","name":"game_complete"},"taskGroupDetails":null}],"totalCount":50,"lastUpdate":"2024-10-11T11:29:43.000Z"},"errors":[]}},"With Filters":{"summary":"Response with tags and schedule filter","value":{"status":"success","code":200,"message":"Get all tasks","data":{"tasks":[{"uuid":"550e8400-e29b-41d4-a716-446655440000","id":"task-123","name":"Daily Login","description":"Log in to receive rewards","iconUrl":"https://cdn.example.com/task-icon.png","sortingOrder":1,"event":{"id":"event-uuid","name":"login"},"taskGroupDetails":null,"tags":["daily","featured"],"rewardDetails":{"currencies":[{"uuid":"currency-uuid","id":"gold-coins","name":"Gold Coins","iconUrl":"https://cdn.example.com/gold-icon.png","quantity":100}],"items":[],"bundles":[],"progressionMarkers":[]},"schedule":{"firstInstanceStartDate":"2024-01-01T00:00:00.000Z","firstInstanceEndDate":"2024-12-31T23:59:59.000Z","intervalUnit":"daily","intervalLength":1,"occurrences":365,"isRecurring":true,"currentInstanceSchedule":{"status":"in progress","instanceStartDate":"2024-10-11T00:00:00.000Z","instanceEndDate":"2024-10-11T23:59:59.000Z"}}}],"totalCount":15,"lastUpdate":"2024-10-11T11:29:43.000Z"},"errors":[]}},"Full Attributes":{"summary":"Response with all attributes","value":{"status":"success","code":200,"message":"Get all tasks","data":{"tasks":[{"uuid":"550e8400-e29b-41d4-a716-446655440000","id":"task-123","name":"Daily Login","description":"Log in to receive rewards","iconUrl":"https://cdn.example.com/task-icon.png","sortingOrder":1,"event":{"id":"event-uuid","name":"login"},"taskGroupDetails":null,"meta":{"customField1":"value1","difficulty":"easy"},"businessLogic":{"resetOnComplete":true,"maxCompletions":5,"cooldownHours":24},"rewardDetails":{"currencies":[{"uuid":"currency-uuid","id":"gold-coins","name":"Gold Coins","iconUrl":"https://cdn.example.com/gold-icon.png","quantity":100}],"items":[{"uuid":"item-uuid","id":"item-123","name":"Reward Box","iconUrl":"https://cdn.example.com/box-icon.png","quantity":1}],"bundles":[],"progressionMarkers":[]},"linkedRewardDetails":[],"tags":["daily","login","beginner"],"schedule":{"firstInstanceStartDate":"2024-01-01T00:00:00.000Z","firstInstanceEndDate":"2024-12-31T23:59:59.000Z","intervalUnit":"daily","intervalLength":1,"occurrences":365,"isRecurring":true,"currentInstanceSchedule":{"status":"in progress","instanceStartDate":"2024-10-11T00:00:00.000Z","instanceEndDate":"2024-10-11T23:59:59.000Z"}},"parameters":[{"name":"loginCount","targetValue":1,"operator":">=","dataType":"integer","mode":"incremental","type":"counter"}],"unlockConditions":{"unlockLevel":[{"lockedLevelNo":5,"unlockProgressionSystem":{"uuid":"level-uuid","id":"level-system-123","name":"Player Level"}}]}}],"totalCount":50,"lastUpdate":"2024-10-11T11:29:43.000Z"},"errors":[]}}}}}}},"security":[{"apiKey":[]}],"tags":["App"]}},"/v2/client/app/get-missions":{"post":{"operationId":"TaskController_getClientMissionsV2","summary":"Get missions with optional attributes","description":"Retrieves missions (task groups of type mission) with configurable attributes (meta, businessLogic, rewardDetails, linkedRewardDetails, tags, schedule, tasks, unlockConditions). Supports filtering by taskGroupIds, taskGroupTypes, tags, and schedule status. Optionally includes inactive tasks.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetClientMissionsV2Dto"},"examples":{"Minimal Request":{"summary":"Minimal Request","description":"Returns first 10 missions with base fields only","value":{}},"With Filters":{"summary":"Active Daily Missions with Tasks","description":"Filter active daily missions and include their tasks","value":{"includeTags":["daily"],"scheduleStatuses":["in progress"],"attributes":["tags","schedule","tasks","rewardDetails"]}},"Full Attributes":{"summary":"Full Attributes","description":"Request all available attributes","value":{"attributes":["meta","businessLogic","rewardDetails","linkedRewardDetails","tags","schedule","tasks","unlockConditions"],"includeInactiveTasks":false,"offset":0,"limit":10}}}}}},"responses":{"200":{"description":"Missions retrieved successfully","content":{"application/json":{"examples":{"Minimal Request":{"summary":"Response for minimal request","value":{"status":"success","code":200,"message":"Get Mission List","data":{"missions":[{"uuid":"550e8400-e29b-41d4-a716-446655440000","id":"mission-123","name":"Daily Challenges","description":"Complete all daily tasks","iconUrl":"https://cdn.example.com/mission-icon.png","taskGroupType":"mission","sortingOrder":1},{"uuid":"550e8400-e29b-41d4-a716-446655440001","id":"mission-456","name":"Weekly Goals","description":"Complete weekly challenges","iconUrl":null,"taskGroupType":"mission","sortingOrder":2}],"totalCount":20,"lastUpdate":"2024-10-11T10:30:00.000Z"},"errors":[]}},"With Filters":{"summary":"Response for active daily missions with tasks","value":{"status":"success","code":200,"message":"Get Mission List","data":{"missions":[{"uuid":"550e8400-e29b-41d4-a716-446655440000","id":"mission-123","name":"Daily Challenges","description":"Complete all daily tasks","iconUrl":"https://cdn.example.com/mission-icon.png","taskGroupType":"mission","sortingOrder":1,"tags":["daily"],"schedule":{"firstInstanceStartDate":"2024-01-01T00:00:00.000Z","firstInstanceEndDate":"2024-12-31T23:59:59.000Z","intervalUnit":"daily","intervalLength":1,"occurrences":365,"isRecurring":true,"currentInstanceSchedule":{"status":"in progress","instanceStartDate":"2024-10-11T00:00:00.000Z","instanceEndDate":"2024-10-11T23:59:59.000Z"}},"tasks":[{"uuid":"task-uuid-1","id":"task-123","name":"Login Today","description":"Log in to the app","iconUrl":null,"sortingOrder":1,"event":{"id":"event-uuid","name":"login"}},{"uuid":"task-uuid-2","id":"task-456","name":"Play 3 Games","description":"Complete 3 game sessions","iconUrl":null,"sortingOrder":2,"event":{"id":"event-uuid-2","name":"game_complete"}}],"rewardDetails":{"currencies":[{"uuid":"currency-uuid","id":"gold-coins","name":"Gold Coins","iconUrl":null,"quantity":500}],"items":[],"bundles":[],"progressionMarkers":[]}}],"totalCount":8,"lastUpdate":"2024-10-11T10:30:00.000Z"},"errors":[]}},"Full Attributes":{"summary":"Response with all attributes","value":{"status":"success","code":200,"message":"Get Mission List","data":{"missions":[{"uuid":"550e8400-e29b-41d4-a716-446655440000","id":"mission-123","name":"Daily Challenges","description":"Complete all daily tasks","iconUrl":"https://cdn.example.com/mission-icon.png","taskGroupType":"mission","sortingOrder":1,"meta":{"difficulty":"medium","category":"daily"},"businessLogic":{"completionMode":"all","resetDaily":true},"rewardDetails":{"currencies":[{"uuid":"currency-uuid","id":"gold-coins","name":"Gold Coins","iconUrl":null,"quantity":500}],"items":[],"bundles":[],"progressionMarkers":[]},"linkedRewardDetails":[],"tags":["daily","featured","beginner"],"schedule":{"firstInstanceStartDate":"2024-01-01T00:00:00.000Z","firstInstanceEndDate":"2024-12-31T23:59:59.000Z","intervalUnit":"daily","intervalLength":1,"occurrences":365,"isRecurring":true,"currentInstanceSchedule":{"status":"in progress","instanceStartDate":"2024-10-11T00:00:00.000Z","instanceEndDate":"2024-10-11T23:59:59.000Z"}},"tasks":[{"uuid":"task-uuid-1","id":"task-123","name":"Login Today","description":"Log in to the app","iconUrl":null,"sortingOrder":1,"event":{"id":"event-uuid","name":"login"}},{"uuid":"task-uuid-2","id":"task-456","name":"Play 3 Games","description":"Complete 3 game sessions","iconUrl":null,"sortingOrder":2,"event":{"id":"event-uuid-2","name":"game_complete"}}],"unlockConditions":{"unlockLevel":[{"lockedLevelNo":3,"unlockProgressionSystem":{"uuid":"level-uuid","id":"level-system-123","name":"Player Level"}}]}}],"totalCount":20,"lastUpdate":"2024-10-11T10:30:00.000Z"},"errors":[]}}}}}}},"security":[{"apiKey":[]}],"tags":["App"]}},"/v2/client/app/get-step-series":{"post":{"operationId":"TaskController_getClientStepSeriesV2","summary":"Get step series with optional attributes","description":"Retrieves step series (sequential task groups) with configurable attributes (meta, businessLogic, rewardDetails, linkedRewardDetails, tags, schedule, tasks, unlockConditions). Step series require tasks to be completed in sequence. Supports filtering by taskGroupIds, tags, and schedule status.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetClientStepSeriesV2Dto"},"examples":{"Minimal Request":{"summary":"Minimal Request","description":"Returns first 10 step series with base fields only","value":{}},"With Filters":{"summary":"Active Tutorial Step Series","description":"Filter active tutorial step series with sequential tasks","value":{"includeTags":["tutorial"],"scheduleStatuses":["in progress"],"attributes":["tags","tasks","rewardDetails"]}},"Full Attributes":{"summary":"Full Attributes","description":"Request all available attributes","value":{"attributes":["meta","businessLogic","rewardDetails","linkedRewardDetails","tags","schedule","tasks","unlockConditions"],"includeInactiveTasks":false,"offset":0,"limit":10}}}}}},"responses":{"200":{"description":"Step series retrieved successfully","content":{"application/json":{"examples":{"Minimal Request":{"summary":"Response for minimal request","value":{"status":"success","code":200,"message":"Get Step Series List","data":{"stepSeries":[{"uuid":"550e8400-e29b-41d4-a716-446655440000","id":"step-series-123","name":"Beginner Journey","description":"Complete tasks in sequence to earn rewards","iconUrl":"https://cdn.example.com/step-series-icon.png","taskGroupType":"step_series","sortingOrder":1},{"uuid":"550e8400-e29b-41d4-a716-446655440001","id":"step-series-456","name":"Advanced Path","description":"Complete advanced steps","iconUrl":null,"taskGroupType":"step_series","sortingOrder":2}],"totalCount":15,"lastUpdate":"2024-10-11T10:30:00.000Z"},"errors":[]}},"With Filters":{"summary":"Response for active tutorial step series","value":{"status":"success","code":200,"message":"Get Step Series List","data":{"stepSeries":[{"uuid":"550e8400-e29b-41d4-a716-446655440000","id":"step-series-123","name":"Beginner Journey","description":"Complete tasks in sequence to earn rewards","iconUrl":"https://cdn.example.com/step-series-icon.png","taskGroupType":"step_series","sortingOrder":1,"tags":["tutorial"],"tasks":[{"uuid":"task-uuid-1","id":"task-123","name":"Step 1: Create Profile","description":"Set up your player profile","iconUrl":null,"sortingOrder":1,"event":{"id":"event-uuid","name":"profile_complete"}},{"uuid":"task-uuid-2","id":"task-456","name":"Step 2: First Game","description":"Play your first game","iconUrl":null,"sortingOrder":2,"event":{"id":"event-uuid-2","name":"game_complete"}}],"rewardDetails":{"currencies":[{"uuid":"currency-uuid","id":"gold-coins","name":"Gold Coins","iconUrl":null,"quantity":1000}],"items":[{"uuid":"item-uuid","id":"badge-123","name":"Completion Badge","iconUrl":null,"quantity":1}],"bundles":[],"progressionMarkers":[]}}],"totalCount":5,"lastUpdate":"2024-10-11T10:30:00.000Z"},"errors":[]}},"Full Attributes":{"summary":"Response with all attributes","value":{"status":"success","code":200,"message":"Get Step Series List","data":{"stepSeries":[{"uuid":"550e8400-e29b-41d4-a716-446655440000","id":"step-series-123","name":"Beginner Journey","description":"Complete tasks in sequence to earn rewards","iconUrl":"https://cdn.example.com/step-series-icon.png","taskGroupType":"step_series","sortingOrder":1,"meta":{"difficulty":"beginner","estimatedTime":"30 minutes"},"businessLogic":{"completionMode":"sequential","allowSkip":false},"rewardDetails":{"currencies":[{"uuid":"currency-uuid","id":"gold-coins","name":"Gold Coins","iconUrl":null,"quantity":1000}],"items":[{"uuid":"item-uuid","id":"badge-123","name":"Completion Badge","iconUrl":null,"quantity":1}],"bundles":[],"progressionMarkers":[]},"linkedRewardDetails":[],"tags":["tutorial","beginner","onboarding"],"schedule":{"firstInstanceStartDate":"2024-01-01T00:00:00.000Z","firstInstanceEndDate":null,"intervalUnit":null,"intervalLength":null,"occurrences":null,"isRecurring":false,"currentInstanceSchedule":{"status":"in progress","instanceStartDate":"2024-01-01T00:00:00.000Z","instanceEndDate":null}},"tasks":[{"uuid":"task-uuid-1","id":"task-123","name":"Step 1: Create Profile","description":"Set up your player profile","iconUrl":null,"sortingOrder":1,"event":{"id":"event-uuid","name":"profile_complete"}},{"uuid":"task-uuid-2","id":"task-456","name":"Step 2: First Game","description":"Play your first game","iconUrl":null,"sortingOrder":2,"event":{"id":"event-uuid-2","name":"game_complete"}}],"unlockConditions":{"unlockLevel":[{"lockedLevelNo":1,"unlockProgressionSystem":{"uuid":"level-uuid","id":"level-system-123","name":"Player Level"}}]}}],"totalCount":15,"lastUpdate":"2024-10-11T10:30:00.000Z"},"errors":[]}}}}}}},"security":[{"apiKey":[]}],"tags":["App"]}},"/v2/client/app/get-time-series":{"post":{"operationId":"TaskController_getClientTimeSeriesV2","summary":"Get time series with optional attributes","description":"Retrieves time series (streak/consecutive day task groups) with configurable attributes (meta, businessLogic, rewardDetails, linkedRewardDetails, tags, schedule, tasks, unlockConditions). Time series typically reward consecutive daily completion. Supports filtering by taskGroupIds, tags, and schedule status.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetClientTimeSeriesV2Dto"},"examples":{"Minimal Request":{"summary":"Minimal Request","description":"Returns first 10 time series with base fields only","value":{}},"With Filters":{"summary":"Active Login Streak with Daily Rewards","description":"Filter active login streak time series with daily task rewards","value":{"includeTags":["login","streak"],"scheduleStatuses":["in progress"],"attributes":["tags","tasks","rewardDetails","schedule"]}},"Full Attributes":{"summary":"Full Attributes","description":"Request all available attributes","value":{"attributes":["meta","businessLogic","rewardDetails","linkedRewardDetails","tags","schedule","tasks","unlockConditions"],"includeInactiveTasks":false,"offset":0,"limit":10}}}}}},"responses":{"200":{"description":"Time series retrieved successfully","content":{"application/json":{"examples":{"Minimal Request":{"summary":"Response for minimal request","value":{"status":"success","code":200,"message":"Get Time Series List","data":{"timeSeries":[{"uuid":"550e8400-e29b-41d4-a716-446655440000","id":"time-series-123","name":"7-Day Login Streak","description":"Log in for 7 consecutive days","iconUrl":"https://cdn.example.com/time-series-icon.png","taskGroupType":"time_series","sortingOrder":1},{"uuid":"550e8400-e29b-41d4-a716-446655440001","id":"time-series-456","name":"30-Day Bonus","description":"Monthly rewards","iconUrl":null,"taskGroupType":"time_series","sortingOrder":2}],"totalCount":10,"lastUpdate":"2024-10-11T10:30:00.000Z"},"errors":[]}},"With Filters":{"summary":"Response for active login streak","value":{"status":"success","code":200,"message":"Get Time Series List","data":{"timeSeries":[{"uuid":"550e8400-e29b-41d4-a716-446655440000","id":"time-series-123","name":"7-Day Login Streak","description":"Log in for 7 consecutive days","iconUrl":"https://cdn.example.com/time-series-icon.png","taskGroupType":"time_series","sortingOrder":1,"tags":["login","streak"],"tasks":[{"uuid":"task-uuid-1","id":"task-123","name":"Day 1","description":"Login on Day 1","iconUrl":null,"sortingOrder":1,"event":{"id":"event-uuid","name":"login"},"rewardDetails":{"currencies":[{"id":"gold-coins","name":"Gold","quantity":100}],"items":[],"bundles":[],"progressionMarkers":[]}},{"uuid":"task-uuid-2","id":"task-456","name":"Day 2","description":"Login on Day 2","iconUrl":null,"sortingOrder":2,"event":{"id":"event-uuid","name":"login"},"rewardDetails":{"currencies":[{"id":"gold-coins","name":"Gold","quantity":150}],"items":[],"bundles":[],"progressionMarkers":[]}}],"rewardDetails":{"currencies":[{"uuid":"currency-uuid","id":"gems","name":"Premium Gems","iconUrl":null,"quantity":100}],"items":[],"bundles":[{"uuid":"bundle-uuid","id":"bundle-123","name":"7-Day Reward Bundle","iconUrl":null,"quantity":1}],"progressionMarkers":[]},"schedule":{"firstInstanceStartDate":"2024-01-01T00:00:00.000Z","firstInstanceEndDate":"2024-12-31T23:59:59.000Z","intervalUnit":"weekly","intervalLength":1,"occurrences":52,"isRecurring":true,"currentInstanceSchedule":{"status":"in progress","instanceStartDate":"2024-10-07T00:00:00.000Z","instanceEndDate":"2024-10-13T23:59:59.000Z"}}}],"totalCount":3,"lastUpdate":"2024-10-11T10:30:00.000Z"},"errors":[]}},"Full Attributes":{"summary":"Response with all attributes","value":{"status":"success","code":200,"message":"Get Time Series List","data":{"timeSeries":[{"uuid":"550e8400-e29b-41d4-a716-446655440000","id":"time-series-123","name":"7-Day Login Streak","description":"Log in for 7 consecutive days","iconUrl":"https://cdn.example.com/time-series-icon.png","taskGroupType":"time_series","sortingOrder":1,"meta":{"streakType":"consecutive","maxDays":7},"businessLogic":{"resetOnMiss":true,"gracePeriodHours":0,"claimWindowHours":24},"rewardDetails":{"currencies":[{"uuid":"currency-uuid","id":"gems","name":"Premium Gems","iconUrl":null,"quantity":100}],"items":[],"bundles":[{"uuid":"bundle-uuid","id":"bundle-123","name":"7-Day Reward Bundle","iconUrl":null,"quantity":1}],"progressionMarkers":[]},"linkedRewardDetails":[],"tags":["daily","streak","login"],"schedule":{"firstInstanceStartDate":"2024-01-01T00:00:00.000Z","firstInstanceEndDate":"2024-12-31T23:59:59.000Z","intervalUnit":"weekly","intervalLength":1,"occurrences":52,"isRecurring":true,"currentInstanceSchedule":{"status":"in progress","instanceStartDate":"2024-10-07T00:00:00.000Z","instanceEndDate":"2024-10-13T23:59:59.000Z"}},"tasks":[{"uuid":"task-uuid-1","id":"task-123","name":"Day 1","description":"Login on Day 1","iconUrl":null,"sortingOrder":1,"event":{"id":"event-uuid","name":"login"},"rewardDetails":{"currencies":[{"id":"gold-coins","name":"Gold","quantity":100}],"items":[],"bundles":[],"progressionMarkers":[]}},{"uuid":"task-uuid-2","id":"task-456","name":"Day 2","description":"Login on Day 2","iconUrl":null,"sortingOrder":2,"event":{"id":"event-uuid","name":"login"},"rewardDetails":{"currencies":[{"id":"gold-coins","name":"Gold","quantity":150}],"items":[],"bundles":[],"progressionMarkers":[]}}],"unlockConditions":{"unlockLevel":[{"lockedLevelNo":1,"unlockProgressionSystem":{"uuid":"level-uuid","id":"level-system-123","name":"Player Level"}}]}}],"totalCount":10,"lastUpdate":"2024-10-11T10:30:00.000Z"},"errors":[]}}}}}}},"security":[{"apiKey":[]}],"tags":["App"]}},"/v2/client/player/me/get-task-status":{"post":{"operationId":"TaskController_getMyTaskStatusV2","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMyTaskStatusV2Dto"},"examples":{"Get Task Status":{"summary":"Get Task Status","description":"Get task status for specific schedule statuses","value":{"scheduleStatuses":["in progress","yet to start"]}}}}}},"responses":{"200":{"description":"Task status list retrieved successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"Get My Task Status List","errors":[],"data":[{"uuid":"ec9ef0e1-6fe9-4c47-bace-2ac93d331caa","id":"tsk_ftue_03","name":"Ftue Reached Play Central","description":null,"iconUrl":null,"instanceId":"7ac61451-9afa-4878-b053-9c351d787b52","status":"reward_claimed","taskGroupDetails":null},{"uuid":"711f76c6-accb-4a67-b972-c990bb0334f6","id":"tsk_ftue_04","name":"Ftue Qshard LeaderBoard and Rupee","description":null,"iconUrl":null,"instanceId":"b8aee1c6-7b96-46bf-a9af-5c14fd674c21","status":"reward_claimed","taskGroupDetails":null},{"uuid":"a0e1992a-eb60-4470-84c8-0ca32ae59b4e","id":"tsk_ftue_05","name":"Ftue Claim CyberPad","description":null,"iconUrl":null,"instanceId":null,"status":"pending","taskGroupDetails":null},{"uuid":"022b7e2e-12e9-49ea-a19f-d687b1fb13e1","id":"tsk_ftue_02","name":"Ftue_Go To play Central","description":null,"iconUrl":null,"instanceId":"695d631a-4003-4a6f-8e0e-5bee13e2cf1e","status":"completed","taskGroupDetails":null}]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["My Player"]}},"/v2/client/player/get-task-status":{"post":{"operationId":"TaskController_getOthersTaskStatusV2","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"userId":{"type":"string","description":"User ID to get task status for","example":"player-123"},"scheduleStatuses":{"type":"array","items":{"type":"string"},"description":"Filter by schedule statuses","example":["in progress","yet to start"]}},"required":["userId"]},"examples":{"Get Player Task Status":{"summary":"Get Player Task Status","description":"Get task status for a specific player","value":{"userId":"player-123","scheduleStatuses":["in progress","yet to start"]}}}}}},"responses":{"200":{"description":"Player task status list retrieved successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"Get Others Task Status List","errors":[],"data":{"taskStatuses":[{"uuid":"ec9ef0e1-6fe9-4c47-bace-2ac93d331caa","id":"tsk_ftue_03","name":"Ftue Reached Play Central","description":null,"iconUrl":null,"instanceId":"7ac61451-9afa-4878-b053-9c351d787b52","status":"reward_claimed","taskGroupDetails":null}]}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Player Others"]}},"/v2/client/player/me/get-task-group-status":{"post":{"operationId":"TaskController_getMyTaskGroupStatusV2","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMyTaskGroupStatusV2Dto"},"examples":{"Get Task Group Status with Tasks":{"summary":"Get Task Group Status with Tasks","description":"Get task group status including nested tasks","value":{"attributes":["tasks"]}}}}}},"responses":{"200":{"description":"Task group status list retrieved successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"Get My Task Group Status List","errors":[],"data":[{"uuid":"f3fb7752-2d58-4687-bb3a-f34f8b9dc91a","id":"tgrp_00100","name":"Daily Missions Common","description":null,"iconUrl":null,"taskGroupType":"mission","tasks":[{"uuid":"1d3f8c50-5716-4637-8d75-c15f947abc03","id":"tsk_tgrp_00100_00029","name":"Use a full body skin","description":"Equip a full body skin for your avatar!","iconUrl":null,"instanceId":null,"status":"pending"},{"uuid":"25fdbf41-0e12-4769-af26-91ca2630a52f","id":"tsk_tgrp_00100_00001","name":"Play 1 game","description":"Play any game in GameStarz","iconUrl":null,"instanceId":null,"status":"pending"}],"instanceId":null,"status":"pending"},{"uuid":"9254a03c-4039-4499-a6bb-71e2174ff446","id":"tgrp_ftue_05","name":"Pickup your CyberPad","description":null,"iconUrl":null,"taskGroupType":"step_series","tasks":[{"uuid":"f99ce5f6-74d4-4126-876b-3bef92bd48e1","id":"tsk_tgrp_ftue_05_01","name":"Claim CyberPad","description":null,"iconUrl":null,"instanceId":"06f7cae7-e0fb-4b6d-86c3-edaefdb789be","status":"reward_claimed"}],"instanceId":"0b4d3be3-47ed-4766-ab19-749b4562306b","status":"completed"}]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["My Player"]}},"/v2/client/player/get-task-group-status":{"post":{"operationId":"TaskController_getOthersTaskGroupStatusV2","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"userId":{"type":"string","description":"User ID to get task group status for","example":"player-123"},"attributes":{"type":"array","items":{"type":"string"},"description":"Attributes to include","example":["tasks"]}},"required":["userId"]},"examples":{"Get Player Task Group Status":{"summary":"Get Player Task Group Status","description":"Get task group status for a specific player","value":{"userId":"player-123","attributes":["tasks"]}}}}}},"responses":{"200":{"description":"Player task group status list retrieved successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"Get Others Task Group Status List","errors":[],"data":{"taskGroupStatuses":[{"uuid":"f3fb7752-2d58-4687-bb3a-f34f8b9dc91a","id":"tgrp_00100","name":"Daily Missions Common","description":null,"iconUrl":null,"taskGroupType":"mission","tasks":[{"uuid":"1d3f8c50-5716-4637-8d75-c15f947abc03","id":"tsk_tgrp_00100_00029","name":"Use a full body skin","description":"Equip a full body skin for your avatar!","iconUrl":null,"instanceId":null,"status":"pending"}],"instanceId":null,"status":"pending"}]}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Player Others"]}},"/v2/client/player/me/get-task-progress":{"post":{"operationId":"TaskController_getMyTaskProgressV2","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMyTaskProgressV2Dto"},"examples":{"Get Task Progress":{"summary":"Get Task Progress","description":"Get progress for all tasks","value":{}}}}}},"responses":{"200":{"description":"Task progress list retrieved successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"My Task progress list","errors":[],"data":{"taskProgresses":[{"uuid":"ec9ef0e1-6fe9-4c47-bace-2ac93d331caa","id":"tsk_ftue_03","name":"Ftue Reached Play Central","event":{"id":"82b90f9d-a492-41b0-ae3d-54f820f2bad2","name":"On Guidance Step"},"progress":[]},{"uuid":"711f76c6-accb-4a67-b972-c990bb0334f6","id":"tsk_ftue_04","name":"Ftue Qshard LeaderBoard and Rupee","event":{"id":"82b90f9d-a492-41b0-ae3d-54f820f2bad2","name":"On Guidance Step"},"progress":[]},{"uuid":"a0e1992a-eb60-4470-84c8-0ca32ae59b4e","id":"tsk_ftue_05","name":"Ftue Claim CyberPad","event":{"id":"82b90f9d-a492-41b0-ae3d-54f820f2bad2","name":"On Guidance Step"},"progress":[]},{"uuid":"022b7e2e-12e9-49ea-a19f-d687b1fb13e1","id":"tsk_ftue_02","name":"Ftue_Go To play Central","event":{"id":"82b90f9d-a492-41b0-ae3d-54f820f2bad2","name":"On Guidance Step"},"progress":[]}],"totalCount":23}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["My Player"]}},"/v2/client/player/get-task-progress":{"post":{"operationId":"TaskController_getOthersTaskProgressV2","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"userId":{"type":"string","description":"User ID to get task progress for","example":"player-123"},"includeTaskGroupTasks":{"type":"boolean","description":"Include tasks from task groups","example":false}},"required":["userId"]},"examples":{"Get Player Task Progress":{"summary":"Get Player Task Progress","description":"Get task progress for a specific player","value":{"userId":"player-123"}}}}}},"responses":{"200":{"description":"Player task progress list retrieved successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"My Task progress list","errors":[],"data":{"taskProgresses":[{"uuid":"ec9ef0e1-6fe9-4c47-bace-2ac93d331caa","id":"tsk_ftue_03","name":"Ftue Reached Play Central","event":{"id":"82b90f9d-a492-41b0-ae3d-54f820f2bad2","name":"On Guidance Step"},"progress":[]}],"totalCount":23}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Player Others"]}},"/v2/client/player/me/get-reward-history":{"post":{"operationId":"TaskController_getMyRewardHistoryV2","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMyRewardHistoryV2Dto"},"examples":{"Get Reward History with Details":{"summary":"Get Reward History with Details","description":"Get reward history including reward details","value":{"attributes":["rewardDetails"],"limit":1}}}}}},"responses":{"200":{"description":"Reward history retrieved successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"errors":[],"message":"Reward history data","data":[{"instanceId":"e515f8eb-9de9-4443-812c-155aa5c3e33d","amount":100,"status":"completed","rewardGrant":"client","sourceType":"task","sourceId":"tsk_tgrp_00100_00023","rewardDetails":{"currencies":{"instanceId":"e515f8eb-9de9-4443-812c-155aa5c3e33d","uuid":44,"id":"curr_skai","name":"SKAI","description":"SKAI is a virtual currency in GameStarz that can be used to purchase items such as avatar outfits.","iconUrl":"https://playstarz-staging.s3.ap-south-1.amazonaws.com/c3bfeb0f-ab9f-4498-8a5a-6eeafe5c354bimage.png","amount":100}}}]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["My Player"]}},"/v2/client/player/me/get-time-series-progress":{"post":{"operationId":"TaskController_getMyTimeSeriesProgress","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMyTimeSeriesProgressDto"}}}},"responses":{"200":{"description":""}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["My Player"]}},"/v2/client/player/get-time-series-progress":{"post":{"operationId":"TaskController_getTimeSeriesProgress","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"userId":{"type":"string","description":"User ID to get time series progress for","example":"player-123"},"taskGroupIds":{"type":"array","items":{"type":"string"},"description":"Optional task group IDs to filter","example":[]}},"required":["userId"]},"examples":{"Get Player Time Series Progress":{"summary":"Get Player Time Series Progress","description":"Get time series progress for a specific player","value":{"userId":"player-123"}}}}}},"responses":{"200":{"description":"Player time series progress retrieved successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"Time series progress data","errors":[],"data":{"timeSeriesProgresses":[{"uuid":"time-series-uuid","id":"time-series-123","name":"7-Day Login Streak","currentDay":3,"totalDays":7,"status":"in_progress"}],"totalCount":5}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Player Others"]}},"/v2/client/player/get-reward-history":{"post":{"operationId":"TaskController_getPlayerRewardHistoryV2","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"userId":{"type":"string","description":"User ID to get reward history for","example":"player-123"},"attributes":{"type":"array","items":{"type":"string"},"description":"Attributes to include","example":["rewardDetails"]},"limit":{"type":"number","description":"Number of records to return","example":10},"offset":{"type":"number","description":"Offset for pagination","example":0}},"required":["userId"]},"examples":{"Get Player Reward History":{"summary":"Get Player Reward History","description":"Get reward history for a specific player","value":{"userId":"player-123","attributes":["rewardDetails"],"limit":10}}}}}},"responses":{"200":{"description":"Player reward history retrieved successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"errors":[],"message":"Player Reward history data","data":[{"instanceId":"e515f8eb-9de9-4443-812c-155aa5c3e33d","amount":100,"status":"completed","rewardGrant":"client","sourceType":"task","sourceId":"tsk_tgrp_00100_00023","rewardDetails":{"currencies":{"instanceId":"e515f8eb-9de9-4443-812c-155aa5c3e33d","uuid":44,"id":"curr_skai","name":"SKAI","amount":100}}}]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Player Others"]}},"/v2/client/achievements/get-user-task-assignment":{"post":{"operationId":"TaskController_getUserTaskAssignment","summary":"Get user task assignment history for a task group","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetUserTaskAssignmentDto"}}}},"responses":{"200":{"description":""}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Achievements"]}},"/v2/client/achievements/create-user-task-assignment":{"post":{"operationId":"TaskController_createUserTaskAssignment","summary":"Create user task assignment record","parameters":[],"responses":{"200":{"description":""}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Achievements"]}},"/v2/client/player/me/get-task-group-status-with-cooldown":{"post":{"operationId":"TaskController_getTaskGroupStatusWithCooldown","summary":"Get task group status with per-user cooldown for expired tasks","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetTaskGroupStatusWithCooldownDto"}}}},"responses":{"200":{"description":""}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["My Player"]}},"/v2/client/player/me/upload-icon":{"post":{"operationId":"AwsController_uploadIconV2","parameters":[],"responses":{"200":{"description":"Icon uploaded successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"Icon uploaded successfully","errors":[],"data":{"locationUrl":"https://playstarz-staging.s3.ap-south-1.amazonaws.com/org-e2c674eb-962e-48e6-9f85-dc291cc0b2ac/app-1e7f51e-6d67-4e3f-b549-2d4b21c6c3e5/players/a1e7f51e-6d67-4e3f-b549-2d4b21c6c3e5/icons/profile-icon.png"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["My Player"]}},"/v2/client/liveops/get-competition-schedule-history":{"post":{"operationId":"LiveOpsController_getCompetitionScheduleHistoryV2","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetCompetitionScheduleHistoryV2"},"examples":{"Get Competition Schedule History":{"summary":"Get Competition Schedule History","description":"Get schedule history for a specific competition with limit","value":{"competitionId":"comp-uuid-12345","limit":2}}}}}},"responses":{"200":{"description":"Competition schedule history retrieved successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"Competition Schedule Details","data":[{"firstInstanceStartDate":"2024-03-29 05:17","firstInstanceEndDate":"2024-03-31 05:17","intervalUnit":null,"intervalLength":null,"occurrences":1,"isRecurring":true,"competition":{"uuid":"d208a71e-e2c6-425d-b8b0-0fd237d36cc6","id":"LC1","name":"live competition","description":"live competition","iconUrl":null},"currentInstanceSchedule":{"instanceId":"53106e47-1352-44ef-9286-c1b8262b052a","status":"in review","instanceStartDate":"2024-03-29 05:17","instanceEndDate":"2024-03-30 05:17:00+00:00"},"instances":[{"instanceId":"53106e47-1352-44ef-9286-c1b8262b052a","status":"in review","instanceStartDate":"2024-03-29 05:17","instanceEndDate":"2024-03-30 05:17:00+00:00"}]},{"firstInstanceStartDate":"2024-06-19 06:15:00+00:00","firstInstanceEndDate":"2024-11-30 06:05:00+00:00","intervalUnit":null,"intervalLength":1,"occurrences":1,"isRecurring":false,"competition":{"uuid":"06397c28-48bb-4887-b2cb-0416ad4cdb5c","id":"PC1","name":"paid competition","description":"paid competition","iconUrl":null},"currentInstanceSchedule":{"instanceId":"b93b7348-a97b-4124-8dc6-3e10e17d3a8d","status":"in progress","instanceStartDate":"2024-06-19 06:15:00+00:00","instanceEndDate":"2024-11-30 06:05:00+00:00"},"instances":[{"instanceId":"b93b7348-a97b-4124-8dc6-3e10e17d3a8d","status":"in progress","instanceStartDate":"2024-06-19 06:15:00+00:00","instanceEndDate":"2024-11-30 06:05:00+00:00"}]}],"errors":[]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]}],"tags":["Live-ops"]}},"/v2/client/liveops/get-leaderboard-schedule-history":{"post":{"operationId":"LiveOpsController_getLeaderboardScheduleHistoryV2","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetLeaderboardScheduleHistoryV2"},"examples":{"Get Leaderboard Schedule History":{"summary":"Get Leaderboard Schedule History","description":"Get schedule history for a specific leaderboard with limit","value":{"leaderboardId":"lb-uuid-12345","limit":2}}}}}},"responses":{"200":{"description":"Leaderboard schedule history retrieved successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"Leaderboard Schedule Details","data":[{"firstInstanceStartDate":"2024-05-28 06:30:00+00:00","firstInstanceEndDate":null,"intervalUnit":null,"intervalLength":1,"occurrences":1,"isRecurring":false,"leaderboard":{"uuid":"8b5f76c8-d1e6-449e-9c5e-b9a83c1e1643","id":"match_lead_reasult","name":"match lead reasult","description":"match_lead_reasult","iconUrl":null},"currentInstanceSchedule":{"instanceId":"df85c340-b73a-4cde-9795-e3640daefb72","status":"stopped","instanceStartDate":"2024-05-28 06:30:00+00:00","instanceEndDate":null},"instances":[{"instanceId":"df85c340-b73a-4cde-9795-e3640daefb72","status":"stopped","instanceStartDate":"2024-05-28 06:30:00+00:00","instanceEndDate":null}]},{"firstInstanceStartDate":"2024-05-30 06:30:00+00:00","firstInstanceEndDate":"2024-05-30 06:50:00+00:00","intervalUnit":null,"intervalLength":5,"occurrences":3,"isRecurring":true,"leaderboard":{"uuid":"c9d2c171-5a95-412c-af2d-0e9aef3aa51e","id":"instance_lead","name":"instance lead","description":"instance_lead","iconUrl":null},"currentInstanceSchedule":{"instanceId":"4c495002-e5a0-4ea0-b764-e38e6518f497","status":"completed","instanceStartDate":"2024-05-30 06:30:00+00:00","instanceEndDate":"2024-05-30 06:35:00+00:00"},"instances":[{"instanceId":"4c495002-e5a0-4ea0-b764-e38e6518f497","status":"completed","instanceStartDate":"2024-05-30 06:30:00+00:00","instanceEndDate":"2024-05-30 06:35:00+00:00"},{"instanceId":"f85c91e8-70eb-4efc-8248-0b4dd911d30c","status":"completed","instanceStartDate":"2024-05-30 06:35:00+00:00","instanceEndDate":"2024-05-30 06:40:00+00:00"},{"instanceId":"46b74bc3-da62-4b9a-8458-11117d10f7ca","status":"completed","instanceStartDate":"2024-05-30 06:40:00+00:00","instanceEndDate":"2024-05-30 06:45:00+00:00"}]}],"errors":[]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]}],"tags":["Live-ops"]}},"/v2/client/app/get-leaderboards":{"post":{"operationId":"LeaderboardController_getClientLeaderboardsV2","summary":"Get leaderboards","description":"Retrieve leaderboards with optional filtering by IDs, matches, tags, and schedule status. Supports pagination and attribute selection for schedule, tags, meta, sourceEntity, and prizeDistribution.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetClientLeaderboardsV2Dto"},"examples":{"Retrieve All Leaderboards":{"summary":"Retrieve All Leaderboards with Default Information","description":"Retrieve all leaderboards with default attributes","value":{}},"Retrieve Leaderboards with Schedule":{"summary":"Retrieve Leaderboards with Schedule","description":"Get leaderboards with schedule information","value":{"attributes":["schedule"]}},"Retrieve Specific Leaderboards by IDs":{"summary":"Retrieve Specific Leaderboards by IDs","description":"Get specific leaderboards by providing their IDs","value":{"leaderboardIds":["weekly_high_score","monthly_champion"]}},"Retrieve Live Leaderboards":{"summary":"Retrieve Live Leaderboards Only","description":"Filter to get only currently active leaderboards","value":{"scheduleStatuses":["in progress"],"attributes":["schedule"]}},"Retrieve Leaderboards with All Attributes":{"summary":"Retrieve Leaderboards with All Attributes","description":"Get leaderboards with all available attributes","value":{"attributes":["schedule","tags","meta","sourceEntity","prizeDistribution"]}}}}}},"responses":{"200":{"description":"Leaderboards retrieved successfully","content":{"application/json":{"examples":{"Retrieve All Leaderboards":{"summary":"Response for all leaderboards","value":{"status":"success","code":200,"message":"Leaderboard list","errors":[],"data":{"leaderboards":[{"uuid":"lb1-uuid","id":"weekly_high_score","name":"Weekly High Score","description":"Top scorers of the week.","iconUrl":"https://cdn.arcadianexus.com/icons/weekly_lb.png","sourceType":{"id":3,"name":"custom"}},{"uuid":"lb2-uuid","id":"monthly_champion","name":"Monthly Champion","description":"Best players of the month.","iconUrl":"https://cdn.arcadianexus.com/icons/monthly_lb.png","sourceType":{"id":3,"name":"custom"}},{"uuid":"lb3-uuid","id":"all_time_legends","name":"All-Time Legends","description":"The greatest players ever.","iconUrl":"https://cdn.arcadianexus.com/icons/legends_lb.png","sourceType":{"id":3,"name":"custom"}}],"totalCount":3,"lastUpdate":"2023-10-15T12:00:00Z"}}},"Retrieve Leaderboards with Schedule":{"summary":"Response for leaderboards with schedule","value":{"status":"success","code":200,"message":"Leaderboard list","errors":[],"data":{"leaderboards":[{"uuid":"lb1-uuid","id":"weekly_high_score","name":"Weekly High Score","description":"Top scorers of the week.","iconUrl":"https://cdn.arcadianexus.com/icons/weekly_lb.png","sourceType":{"id":3,"name":"custom"},"schedule":{"firstInstanceStartDate":"2023-10-09 00:00:00+00:00","firstInstanceEndDate":"2023-10-15 23:59:59+00:00","intervalUnit":"weeks","intervalLength":1,"occurrences":52,"isRecurring":true,"currentInstanceSchedule":{"instanceId":"inst1-uuid","status":"in progress","instanceStartDate":"2023-10-09 00:00:00+00:00","instanceEndDate":"2023-10-15 23:59:59+00:00"}}},{"uuid":"lb3-uuid","id":"all_time_legends","name":"All-Time Legends","description":"The greatest players ever.","iconUrl":"https://cdn.arcadianexus.com/icons/legends_lb.png","sourceType":{"id":3,"name":"custom"},"schedule":{"firstInstanceStartDate":"2023-01-01 00:00:00+00:00","firstInstanceEndDate":null,"intervalUnit":"all_time","intervalLength":1,"occurrences":1,"isRecurring":false,"currentInstanceSchedule":{"instanceId":"inst3-uuid","status":"in progress","instanceStartDate":"2023-01-01 00:00:00+00:00","instanceEndDate":null}}}],"totalCount":2,"lastUpdate":"2023-10-15T12:00:00Z"}}},"Retrieve Specific Leaderboards by IDs":{"summary":"Response for specific leaderboards by IDs","value":{"status":"success","code":200,"message":"Leaderboard list","errors":[],"data":{"leaderboards":[{"uuid":"lb1-uuid","id":"weekly_high_score","name":"Weekly High Score","description":"Top scorers of the week.","iconUrl":"https://cdn.arcadianexus.com/icons/weekly_lb.png","sourceType":{"id":3,"name":"custom"}},{"uuid":"lb2-uuid","id":"monthly_champion","name":"Monthly Champion","description":"Best players of the month.","iconUrl":"https://cdn.arcadianexus.com/icons/monthly_lb.png","sourceType":{"id":3,"name":"custom"}}],"totalCount":2,"lastUpdate":"2023-10-15T12:00:00Z"}}},"Retrieve Live Leaderboards":{"summary":"Response for live leaderboards only","value":{"status":"success","code":200,"message":"Leaderboard list","errors":[],"data":{"leaderboards":[{"uuid":"lb1-uuid","id":"weekly_high_score","name":"Weekly High Score","description":"Top scorers of the week.","iconUrl":"https://cdn.arcadianexus.com/icons/weekly_lb.png","sourceType":{"id":3,"name":"custom"},"schedule":{"currentInstanceSchedule":{"instanceId":"inst1-uuid","status":"in progress","instanceStartDate":"2023-10-09 00:00:00+00:00","instanceEndDate":"2023-10-15 23:59:59+00:00"}}}],"totalCount":1,"lastUpdate":"2023-10-15T12:00:00Z"}}},"Retrieve Leaderboards with All Attributes":{"summary":"Response for leaderboards with all attributes","value":{"status":"success","code":200,"message":"Leaderboard list","errors":[],"data":{"leaderboards":[{"uuid":"lb1-uuid","id":"weekly_high_score","name":"Weekly High Score","description":"Top scorers of the week.","iconUrl":"https://cdn.arcadianexus.com/icons/weekly_lb.png","sourceType":{"id":3,"name":"custom"},"schedule":{"currentInstanceSchedule":{"status":"in progress"}},"tags":["weekly","competitive","featured"],"meta":{"rewardTier":"gold","minLevel":5},"sourceEntity":{"match":{"id":"flame_runner","name":"Flame Runner"}},"prizeDistribution":[{"rank":1,"rewards":[{"type":"currency","id":"nexus_gems","amount":1000}]},{"rank":2,"rewards":[{"type":"currency","id":"nexus_gems","amount":500}]}]}],"totalCount":1,"lastUpdate":"2023-10-15T12:00:00Z"}}}}}}}},"security":[{"apiKey":[]}],"tags":["App"]}},"/v2/client/leaderboards/post-score":{"post":{"operationId":"LeaderboardController_sendScoreToLeaderboardV2","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendScoreToLeaderboardDto"},"examples":{"Post Score to Multiple Leaderboards":{"summary":"Post Score to Multiple Leaderboards","description":"Submit score to multiple leaderboards at once","value":{"leaderboardIds":["custom_podium_cumulative_lb","custom_high_score"],"score":1}}}}}},"responses":{"201":{"description":""}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Leaderboard"]}},"/v2/client/leaderboards/get-rankings":{"post":{"operationId":"LeaderboardController_getLeaderboardRankingsV2","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetLeaderboardRankingsV2Dto"},"examples":{"Get Rankings with Attributes":{"summary":"Get Rankings with Attributes","description":"Get leaderboard rankings with specific attributes","value":{"leaderboardId":"L-ONE TEST","instanceId":"2e76275b-ee1a-4a7e-b0a5-8d19f1452c76","attributes":["rankings","totalRanks"]}}}}}},"responses":{"201":{"description":""}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Leaderboard"]}},"/v2/client/leaderboards/get-results":{"post":{"operationId":"LeaderboardController_getLeaderboardResultsV2","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetLeaderboardResultV2Dto"},"examples":{"Get Results with Attributes":{"summary":"Get Results with Attributes","description":"Get leaderboard results with rankings and total ranks","value":{"leaderboardId":"L-ONE TEST","instanceId":"2e76275b-ee1a-4a7e-b0a5-8d19f1452c76","attributes":["rankings","totalRanks"]}}}}}},"responses":{"201":{"description":""}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Leaderboard"]}},"/v2/client/wallet/update-balance":{"post":{"operationId":"WalletController_updateWalletV2","summary":"Update wallet balance (V2)","description":"Add or subtract currency from user wallet with support for different wallet types (virtual, rm_deposit, rm_winning, rm_bonus). Returns detailed information about the operation including whether the amount was adjusted.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateWalletBalanceV2Dto"},"examples":{"addCurrency":{"summary":"Add Currency","description":"Add virtual currency to wallet","value":{"operation":"add","currencyId":"gold-coins","walletType":"virtual","amount":500}},"subtractCurrency":{"summary":"Subtract Currency","description":"Subtract currency with custom parameters","value":{"operation":"subtract","currencyId":"gems","walletType":"virtual","amount":100,"customParams":{"reason":"purchase"}}}}}}},"responses":{"201":{"description":"Wallet updated successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":201,"message":"Wallet updated successfully","data":{"uuid":"550e8400-e29b-41d4-a716-446655440000","id":"gold-coins","name":"Gold Coins","description":"In-game currency","iconUrl":"https://cdn.example.com/gold.png","rarity":{"id":"rarity-uuid","name":"Common"},"type":"virtual","code":"GLD","balance":1500,"requested":500,"applied":500,"wasAdjusted":false,"adjustmentReason":null},"errors":[]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Wallet"]}},"/v2/client/player/me/get-wallet-balance":{"post":{"operationId":"WalletController_getMyWalletBalanceV2","summary":"Get my wallet balance (V2)","description":"Retrieve wallet balances for the authenticated user for specified currencies. Supports filtering by wallet type and pagination.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMyWalletBalanceV2Dto"},"examples":{"specificCurrencies":{"summary":"Get Specific Currencies","description":"Retrieve balances for specific currency IDs","value":{"currencyIds":["gold-coins","gems"]}},"withTypeFilter":{"summary":"With Type Filter","description":"Filter by wallet types","value":{"currencyIds":["deposit-balance","winning-balance"],"type":["rm_deposit","rm_winning"]}},"withPagination":{"summary":"With Pagination","description":"Use pagination for large result sets","value":{"currencyIds":["gold-coins"],"offset":0,"limit":20}}}}}},"responses":{"200":{"description":"Wallet balance retrieved successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"My Wallet Balance","data":[{"uuid":"550e8400-e29b-41d4-a716-446655440000","id":"gold-coins","name":"Gold Coins","description":"In-game currency","iconUrl":"https://cdn.example.com/gold.png","rarity":{"id":"rarity-uuid","name":"Common"},"type":"virtual","code":"GLD","balance":5000},{"uuid":"550e8400-e29b-41d4-a716-446655440001","id":"gems","name":"Gems","description":"Premium currency","iconUrl":"https://cdn.example.com/gems.png","rarity":null,"type":"virtual","code":"GEM","balance":150}],"errors":[]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["My Player"]}},"/v2/client/player/get-wallet-balance":{"post":{"operationId":"WalletController_getPlayerWalletBalanceV2","summary":"Get player wallet balance (V2)","description":"Retrieve wallet balances for a specific player by their user ID. Supports filtering by wallet type and pagination.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPlayerWalletBalanceV2Dto"},"examples":{"getPlayerBalance":{"summary":"Get Another Player's Balance","description":"Retrieve wallet balance for a specific player","value":{"userId":"player-123","currencyIds":["gold-coins","gems"]}}}}}},"responses":{"200":{"description":"Player wallet balance retrieved successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"Player Wallet Balance","data":[{"uuid":"550e8400-e29b-41d4-a716-446655440000","id":"gold-coins","name":"Gold Coins","description":"In-game currency","iconUrl":"https://cdn.example.com/gold.png","rarity":{"id":"rarity-uuid","name":"Common"},"type":"virtual","code":"GLD","balance":5000}],"errors":[]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Player Others"]}},"/v2/client/wallet/convert-currency":{"post":{"operationId":"WalletController_convertCurrency","summary":"Convert currency (V2)","description":"Convert one currency to another using configured exchange rates and fees. Deducts from source currency and adds to target currency after applying conversion fee.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConvertCurrencyDto"},"examples":{"convertGoldToGems":{"summary":"Convert Gold to Gems","description":"Example currency conversion with fee applied","value":{"sourceCurrencyId":"gold-coins","targetCurrencyId":"gems","amount":1000}}}}}},"responses":{"200":{"description":"Currency converted successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"Currency converted successfully","data":{"sourceAmount":1000,"sourceCurrency":{"uuid":"550e8400-e29b-41d4-a716-446655440000","id":"gold-coins","name":"Gold Coins","description":"In-game currency","code":"GLD","iconUrl":"https://cdn.example.com/gold.png","type":"virtual","rarity":null},"targetAmount":95,"targetCurrency":{"uuid":"550e8400-e29b-41d4-a716-446655440001","id":"gems","name":"Gems","description":"Premium currency","code":"GEM","iconUrl":"https://cdn.example.com/gems.png","type":"virtual","rarity":null},"fee":{"percentage":5,"amount":5},"conversionRate":0.1},"errors":[]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Wallet"]}},"/v2/client/wallet/available-conversions":{"post":{"operationId":"WalletController_getAvailableConversions","summary":"Get available currency conversions (V2)","description":"Retrieve all available currency conversion pairs for the authenticated user. Only returns conversions where the user has a positive balance in the source currency.","parameters":[],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{},"example":{}}}}},"responses":{"200":{"description":"Available conversions retrieved successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"Available conversions","data":[{"id":1,"sourceWallet":{"balance":"5000","currency":{"uuid":"550e8400-e29b-41d4-a716-446655440000","id":"gold-coins","name":"Gold Coins","description":"In-game currency","code":"GLD","iconUrl":"https://cdn.example.com/gold.png","rarity":null,"type":"virtual"}},"targetCurrency":{"uuid":"550e8400-e29b-41d4-a716-446655440001","id":"gems","name":"Gems","code":"GEM","description":"Premium currency","iconUrl":"https://cdn.example.com/gems.png","rarity":null,"type":"virtual"},"conversionRate":0.1,"conversionFee":5}],"errors":[]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Wallet"]}},"/v2/client/progression/update-marker":{"post":{"operationId":"ProgressionController_updateProgressionMarkerV2","summary":"Update progression marker","description":"Updates the progression marker for a user, allowing for tracking of in-game achievements, levels, or other progression metrics. Supports add and subtract operations.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProgressionWalletDto"},"examples":{"Add Progression":{"summary":"Add Progression","description":"Add amount to a progression marker","value":{"operation":"add","amount":10,"progressionMarkerId":"pm1"}},"Subtract Progression":{"summary":"Subtract Progression","description":"Subtract amount from a progression marker","value":{"operation":"subtract","amount":5,"progressionMarkerId":"pm1"}}}}}},"responses":{"201":{"description":"Progression marker updated successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":201,"message":"Progression Marker Updated Successfully","errors":[],"data":{"uuid":4,"id":"PM1","name":"XP","description":"This is XP","iconUrl":null,"progressionMarkerAmount":103,"progressInfo":[{"progressionSystemId":"PS1","currentLevelNo":2,"previousLevelNo":1,"amountToNextLevel":17}]}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Progression"]}},"/v2/client/player/me/get-progress":{"post":{"operationId":"ProgressionController_getMyProgressV2","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMyProgressV2Dto"},"examples":{"Get My Progress":{"summary":"Get My Progress","description":"Get progression markers and level progress for the authenticated user","value":{}}}}}},"responses":{"200":{"description":"Progress retrieved successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"My Progress","errors":[],"data":[{"uuid":30,"id":"pmk_qbit","name":"Q-Bits","description":"Earn Q-Bits to level up in GameStarz and gain access to new features, special competitions and more!","iconUrl":"https://playstarz-staging.s3.ap-south-1.amazonaws.com/e2c674eb-962e-48e6-9f85-dc291cc0b2acimage.png","rarity":{"id":1,"name":"Common"},"progressionMarkerAmount":1025,"progressInfo":[{"progressionSystemId":"prg_qbit_sys","currentLevelNo":7,"previousLevelNo":6,"amountToNextLevel":266}]}]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["My Player"]}},"/v2/client/player/get-progress":{"post":{"operationId":"ProgressionController_getPlayerProgressV2","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"userId":{"type":"string","description":"User ID to get progress for","example":"player-123"}},"required":["userId"]},"examples":{"Get Player Progress":{"summary":"Get Player Progress","description":"Get progression markers and level progress for a specific player","value":{"userId":"player-123"}}}}}},"responses":{"200":{"description":"Player progress retrieved successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"Player Progress","errors":[],"data":[{"uuid":30,"id":"pmk_qbit","name":"Q-Bits","description":"Earn Q-Bits to level up in GameStarz and gain access to new features, special competitions and more!","iconUrl":"https://playstarz-staging.s3.ap-south-1.amazonaws.com/e2c674eb-962e-48e6-9f85-dc291cc0b2acimage.png","rarity":{"id":1,"name":"Common"},"progressionMarkerAmount":500,"progressInfo":[{"progressionSystemId":"prg_qbit_sys","currentLevelNo":5,"previousLevelNo":4,"amountToNextLevel":150}]}]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Player Others"]}},"/v2/client/ugc-leaderboards/post-score":{"post":{"operationId":"UgcLeaderboardController_postScore","summary":"Post a score against a UGC leaderboard","description":"Upserts the bearer's score for (contentId, instance). Returns { isUpdated, previousBest, newScore, rank, totalEntries } so the client can drive PB celebrations + rank toasts without a second round-trip.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostUgcScoreDto"}}}},"responses":{"201":{"description":""}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["UGC Leaderboard"]}},"/v2/client/ugc-leaderboards/get-rankings":{"post":{"operationId":"UgcLeaderboardController_getRankings","summary":"Get rankings for a (UGC LB, contentId)","description":"Paginated rankings + meRank.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetUgcRankingsDto"}}}},"responses":{"200":{"description":""}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["UGC Leaderboard"]}},"/v2/client/ugc-leaderboards/get-content-summary":{"post":{"operationId":"UgcLeaderboardController_getContentSummary","summary":"Batched top-scorer summary across many contentIds","description":"For feed-card decoration: \"current champ\" per riff in one call. Up to 200 contentIds.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetUgcContentSummaryDto"}}}},"responses":{"200":{"description":""}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["UGC Leaderboard"]}},"/v2/client/ugc-leaderboards/get-user-bests":{"post":{"operationId":"UgcLeaderboardController_getUserBests","summary":"User's best score per contentId","description":"Defaults to caller; admin can pass userId.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetUgcUserBestsDto"}}}},"responses":{"200":{"description":""}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["UGC Leaderboard"]}},"/v2/client/ugc-leaderboards/get-my-content-feed":{"post":{"operationId":"UgcLeaderboardController_getMyContentFeed","summary":"List contentIds the caller has scored on","description":"Sorted by caller's best rank ascending — \"where you're competitive\" feed.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetUgcMyContentFeedDto"}}}},"responses":{"200":{"description":""}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["UGC Leaderboard"]}},"/v2/client/app/get-ugc-leaderboards":{"post":{"operationId":"UgcLeaderboardController_getPublicUgcLeaderboards","summary":"Public list of UGC leaderboards in the project","description":"apiKey-scoped — no user token required. Resolves projectId from the api-key. Whitelisted in api_validation_middleware.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListPublicUgcLeaderboardsDto"}}}},"responses":{"200":{"description":""}},"security":[{"apiKey":[]}],"tags":["UGC Leaderboard"]}},"/v2/client/app/get-currencies":{"post":{"operationId":"CurrenciesController_getMasterCurrenciesV2","summary":"Get currencies","description":"Retrieve all currencies configured for the app with optional filtering","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMasterCurrenciesV2Dto"},"examples":{"Retrieve All Currencies":{"summary":"Retrieve All Currencies with Default Information","description":"Get all currencies with default fields","value":{}},"Retrieve Specific Currencies by IDs":{"summary":"Retrieve Specific Currencies by IDs","description":"Get specific currencies by providing their IDs","value":{"currencyIds":["arcadian_coins","nexus_gems"]}},"Retrieve Currencies with Attributes":{"summary":"Retrieve Currencies with Specific Attributes","description":"Get currencies with meta and tags","value":{"attributes":["meta","tags"]}},"Retrieve Currencies Filtered by Type":{"summary":"Retrieve Currencies Filtered by Type","description":"Get only virtual type currencies","value":{"type":"virtual"}},"Retrieve Currencies Filtered by Tags":{"summary":"Retrieve Currencies Filtered by Tags","description":"Filter currencies by tags","value":{"includeTags":["earnable","tradable"],"attributes":["tags"]}}}}}},"responses":{"200":{"description":"Currencies retrieved successfully","content":{"application/json":{"examples":{"Retrieve All Currencies":{"summary":"Response for all currencies","value":{"status":"Success","code":200,"message":"Currencies retrieved successfully.","errors":[],"data":{"currencies":[{"uuid":"currency1-uuid","name":"Arcadian Coins","description":"The primary currency used across Arcadia Nexus for basic transactions.","iconUrl":"https://cdn.arcadianexus.com/icons/arcadian_coins.png","code":"ARC","type":"virtual"},{"uuid":"currency2-uuid","name":"Nexus Gems","description":"A premium currency for purchasing exclusive items and perks.","iconUrl":"https://cdn.arcadianexus.com/icons/nexus_gems.png","code":"NEX","type":"virtual"},{"uuid":"currency3-uuid","name":"Realm Tokens","description":"Tokens specific to certain realms, used for realm-specific transactions.","iconUrl":"https://cdn.arcadianexus.com/icons/realm_tokens.png","code":"RTK","type":"virtual"}],"totalCount":3,"lastUpdate":"2023-10-15T12:00:00Z"}}},"Retrieve Specific Currencies by IDs":{"summary":"Response for specific currencies by IDs","value":{"status":"Success","code":200,"message":"Currencies retrieved successfully.","errors":[],"data":{"currencies":[{"uuid":"currency1-uuid","id":"arcadian_coins","name":"Arcadian Coins","description":"The primary currency used across Arcadia Nexus for basic transactions.","iconUrl":"https://cdn.arcadianexus.com/icons/arcadian_coins.png","code":"ARC","type":"virtual"},{"uuid":"currency2-uuid","id":"nexus_gems","name":"Nexus Gems","description":"A premium currency for purchasing exclusive items and perks.","iconUrl":"https://cdn.arcadianexus.com/icons/nexus_gems.png","code":"NEX","type":"virtual"}],"totalCount":2,"lastUpdate":"2023-10-15T12:00:00Z"}}},"Retrieve Currencies with Attributes":{"summary":"Response for currencies with meta and tags","value":{"status":"Success","code":200,"message":"Currencies retrieved successfully.","errors":[],"data":{"currencies":[{"uuid":"currency1-uuid","name":"Arcadian Coins","description":"The primary currency used across Arcadia Nexus for basic transactions.","iconUrl":"https://cdn.arcadianexus.com/icons/arcadian_coins.png","code":"ARC","type":"virtual","meta":{"exchangeRate":1,"usage":"Used for purchasing common items and services."},"tags":["earnable","tradable"]},{"uuid":"currency2-uuid","name":"Nexus Gems","description":"A premium currency for purchasing exclusive items and perks.","iconUrl":"https://cdn.arcadianexus.com/icons/nexus_gems.png","code":"NEX","type":"virtual","meta":{"exchangeRate":100,"usage":"Used for purchasing premium items."},"tags":["premium","purchasable"]},{"uuid":"currency3-uuid","name":"Realm Tokens","description":"Tokens specific to certain realms, used for realm-specific transactions.","iconUrl":"https://cdn.arcadianexus.com/icons/realm_tokens.png","code":"RTK","type":"virtual","meta":{"realm":"Forest of Whispers","usage":"Access special events and items within the realm."},"tags":["realm-specific","earnable"]}],"totalCount":3,"lastUpdate":"2023-10-15T12:00:00Z"}}},"Retrieve Currencies Filtered by Type":{"summary":"Response for currencies filtered by type","value":{"status":"Success","code":200,"message":"Currencies retrieved successfully.","errors":[],"data":{"currencies":[{"uuid":"currency1-uuid","name":"Arcadian Coins","description":"The primary currency used across Arcadia Nexus for basic transactions.","iconUrl":"https://cdn.arcadianexus.com/icons/arcadian_coins.png","code":"ARC","type":"virtual"},{"uuid":"currency2-uuid","name":"Nexus Gems","description":"A premium currency for purchasing exclusive items and perks.","iconUrl":"https://cdn.arcadianexus.com/icons/nexus_gems.png","code":"NEX","type":"virtual"},{"uuid":"currency3-uuid","name":"Realm Tokens","description":"Tokens specific to certain realms, used for realm-specific transactions.","iconUrl":"https://cdn.arcadianexus.com/icons/realm_tokens.png","code":"RTK","type":"virtual"}],"totalCount":3,"lastUpdate":"2023-10-15T12:00:00Z"}}},"Retrieve Currencies Filtered by Tags":{"summary":"Response for currencies filtered by tags","value":{"status":"Success","code":200,"message":"Currencies retrieved successfully.","errors":[],"data":{"currencies":[{"uuid":"currency1-uuid","name":"Arcadian Coins","description":"The primary currency used across Arcadia Nexus for basic transactions.","iconUrl":"https://cdn.arcadianexus.com/icons/arcadian_coins.png","code":"ARC","type":"virtual","tags":["earnable","tradable"]},{"uuid":"currency3-uuid","name":"Realm Tokens","description":"Tokens specific to certain realms, used for realm-specific transactions.","iconUrl":"https://cdn.arcadianexus.com/icons/realm_tokens.png","code":"RTK","type":"virtual","tags":["realm-specific","earnable"]}],"totalCount":2,"lastUpdate":"2023-10-15T12:00:00Z"}}}}}}}},"security":[{"apiKey":[]}],"tags":["App"]}},"/v2/client/app/get-markers":{"post":{"operationId":"ProgressionMarkerController_getMarkers","summary":"Get progression markers","description":"Retrieve progression markers with optional filtering by IDs and tags. Supports pagination and attribute selection for meta and tags.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMarkerDto"},"examples":{"Get All Markers":{"summary":"Get All Markers","description":"Retrieve all progression markers","value":{}},"Get Markers with Progression Systems":{"summary":"Get Markers with Progression Systems","description":"Retrieve markers with associated progression systems","value":{"attributes":["progressionSystems"]}}}}}},"responses":{"200":{"description":"Progression markers retrieved successfully","content":{"application/json":{"examples":{"Get All Markers":{"summary":"Response for all markers","value":{"code":200,"status":"success","message":"Progression Marker data","errors":[],"data":{"markers":[{"uuid":85,"id":"pm1","name":"pm1","description":"pm1","iconUrl":null,"rarity":{"id":1,"name":"Common"}},{"uuid":86,"id":"pm2","name":"pm2","description":"Player experience marker","iconUrl":null,"rarity":{"id":1,"name":"Rare"}}],"totalCount":5,"lastUpdate":"2024-06-21T05:49:59.980Z"}}},"Get Markers with Progression Systems":{"summary":"Response for markers with progression systems","value":{"code":200,"status":"success","message":"Progression Marker data","errors":[],"data":{"markers":[{"uuid":85,"id":"pm1","name":"pm1","description":"pm1","iconUrl":null,"rarity":{"id":1,"name":"Common"},"progressionSystems":[{"uuid":"1ab4eeaf-e9e9-4154-ba16-12f849a1cba9","id":"ps1","name":"ps1","description":"ps1","iconUrl":null},{"uuid":"1038330d-410c-412f-9d09-edc435e7bf7e","id":"UP1","name":"ultra progress","description":"ultra progress","iconUrl":null},{"uuid":"d04cbd64-6c4e-4326-8f0b-4e995501f9e6","id":"staircase","name":"Staircase","description":"staircase","iconUrl":null}]},{"uuid":86,"id":"pm2","name":"pm2","description":"Player experience marker","iconUrl":null,"rarity":{"id":1,"name":"Rare"},"progressionSystems":[{"uuid":"2ab4eeaf-e9e9-4154-ba16-12f849a1cba9","id":"player-level","name":"Player Level","description":"Main leveling system","iconUrl":null}]}],"totalCount":5,"lastUpdate":"2024-06-21T05:49:59.980Z"}}}}}}}},"security":[{"apiKey":[]}],"tags":["App"]}},"/v2/client/app/get-progression-systems":{"post":{"operationId":"LevelSystemController_getProgressionSystemV2","summary":"Get progression systems","description":"Retrieve progression/level systems with optional filtering by IDs, markers, and tags. Supports pagination and attribute selection for levels, progressionMarker, tags, and meta.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetProgressionSystemMasterV2Dto"},"examples":{"Get All Progression Systems":{"summary":"Get All Progression Systems","description":"Retrieve all progression systems","value":{}},"Get Progression Systems with Levels":{"summary":"Get Progression Systems with Levels","description":"Retrieve progression systems with level details","value":{"attributes":["levels"]}}}}}},"responses":{"200":{"description":"Progression systems retrieved successfully","content":{"application/json":{"examples":{"Get All Progression Systems":{"summary":"Response for all progression systems","value":{"status":"success","code":200,"errors":[],"message":"Get Progression System Data","data":{"progressionSystems":[{"uuid":"d04cbd64-6c4e-4326-8f0b-4e995501f9e6","id":"staircase","name":"Staircase","description":"staircase","iconUrl":null,"progressionMarker":{"uuid":85,"id":"pm1","name":"pm1","description":"pm1","iconUrl":null,"rarity":{"id":1,"name":"Rare"}},"totalLevels":7},{"uuid":"1038330d-410c-412f-9d09-edc435e7bf7e","id":"UP1","name":"ultra progress","description":"ultra progress","iconUrl":null,"progressionMarker":{"uuid":85,"id":"pm1","name":"pm1","description":"pm1","iconUrl":null,"rarity":{"id":1,"name":"Rare"}},"totalLevels":12}],"totalCount":3,"lastUpdate":"2024-07-31T09:07:32.028Z"}}},"Get Progression Systems with Levels":{"summary":"Response for progression systems with levels","value":{"status":"success","code":200,"errors":[],"message":"Get Progression System Data","data":{"progressionSystems":[{"uuid":"d04cbd64-6c4e-4326-8f0b-4e995501f9e6","id":"staircase","name":"Staircase","description":"staircase","iconUrl":null,"progressionMarker":{"uuid":85,"id":"pm1","name":"pm1","description":"pm1","iconUrl":null,"rarity":{"id":1,"name":"Rare"}},"levels":[{"uuid":"cadd549b-a3a3-4d63-abb3-de22d67553e6","id":"cadd549b-a3a3-4d63-abb3-de22d67553e6","levelNo":1,"name":"Level 1","incrementalParameterValue":0,"cumulativeParameterValue":0},{"uuid":"8f1cbac9-ffa4-4ef9-8e93-1d671b405263","id":"8f1cbac9-ffa4-4ef9-8e93-1d671b405263","levelNo":2,"name":"Level 2","incrementalParameterValue":5,"cumulativeParameterValue":5},{"uuid":"e36ea9dd-5fdc-4670-b259-fa0f82afd36b","id":"e36ea9dd-5fdc-4670-b259-fa0f82afd36b","levelNo":3,"name":"Level 3","incrementalParameterValue":15,"cumulativeParameterValue":20}],"totalLevels":7},{"uuid":"1038330d-410c-412f-9d09-edc435e7bf7e","id":"UP1","name":"ultra progress","description":"ultra progress","iconUrl":null,"progressionMarker":{"uuid":85,"id":"pm1","name":"pm1","description":"pm1","iconUrl":null,"rarity":{"id":1,"name":"Rare"}},"levels":[{"uuid":"8d55d610-7699-4483-ab2c-03c8f25f48c8","id":"8d55d610-7699-4483-ab2c-03c8f25f48c8","levelNo":1,"name":"Level 1","incrementalParameterValue":0,"cumulativeParameterValue":0},{"uuid":"c6eea1cb-7eb8-46f4-a0f6-806971e0ccfe","id":"c6eea1cb-7eb8-46f4-a0f6-806971e0ccfe","levelNo":2,"name":"Level 2","incrementalParameterValue":10,"cumulativeParameterValue":10}],"totalLevels":12}],"totalCount":3,"lastUpdate":"2024-07-31T09:07:32.028Z"}}}}}}}},"security":[{"apiKey":[]}],"tags":["App"]}},"/v2/client/player/me/update-data":{"post":{"operationId":"UsersController_updateMyDataV2","summary":"Update current player data V2","description":"Creates or updates player data key-value pairs for the authenticated user. Each key can store a JSON object with custom data. This is useful for storing player preferences, game progress, settings, and any custom metadata.","parameters":[],"requestBody":{"required":true,"description":"Player data to update with multiple examples","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePlayerDataDto"},"examples":{"singleKey":{"summary":"Update single key","description":"Creates or updates a single data key with settings","value":{"playerData":[{"key":"settings","value":{"soundEnabled":true,"musicVolume":80}}]}},"multipleKeys":{"summary":"Update multiple keys","description":"Updates multiple data keys at once","value":{"playerData":[{"key":"preferences","value":{"theme":"dark","language":"en"}},{"key":"gameProgress","value":{"lastLevel":15,"stars":42}}]}},"withPermission":{"summary":"With permission level","description":"Updates data with public permission (visible to other players)","value":{"playerData":[{"key":"publicProfile","value":{"bio":"Pro gamer","favoriteGame":"Chess"}}],"permission":"public"}}}}}},"responses":{"200":{"description":"Player data updated successfully","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","example":"success"},"code":{"type":"number","example":200},"message":{"type":"string","example":"Player Data Updated Successfully"},"data":{"type":"object","example":{}},"errors":{"type":"array","items":{},"example":[]}}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["My Player"]}},"/v2/client/player/update-data":{"post":{"operationId":"UsersController_updateOthersDataV2","summary":"Update another player data V2","description":"Updates player data for a specified user. Requires userId in the request. Useful for admin operations or allowing players to update data for other players (based on permissions).","parameters":[],"requestBody":{"required":true,"description":"Player data to update for another user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateOtherPlayerDataV2Dto"},"examples":{"updateAnother":{"summary":"Update another player data","description":"Updates data for player-123 with admin notes","value":{"userId":"player-123","playerData":[{"key":"adminNotes","value":{"note":"Verified player","verifiedAt":"2025-12-01"}}]}},"multipleKeys":{"summary":"Update multiple keys","description":"Updates both rewards and flags keys for the specified player","value":{"userId":"player-123","playerData":[{"key":"rewards","value":{"bonus":500,"reason":"Special event"}},{"key":"flags","value":{"isPremium":true}}]}}}}}},"responses":{"200":{"description":"Player data updated successfully","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","example":"success"},"code":{"type":"number","example":200},"message":{"type":"string","example":"Player Data Updated Successfully"},"data":{"type":"object","example":{}},"errors":{"type":"array","items":{},"example":[]}}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Player Others"]}},"/v2/client/player/remove-data":{"post":{"operationId":"UsersController_removeOtherPlayerDataV2","summary":"Remove player data keys V2","description":"Removes specified data keys from a player's data store. This permanently deletes the keys and their values. Useful for cleaning up deprecated data or removing specific player data fields.","parameters":[],"requestBody":{"required":true,"description":"Keys to remove from player data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoveOtherPlayerDataV2Dto"},"examples":{"singleKey":{"summary":"Remove single key","description":"Removes the tempSettings key from player-123's data","value":{"userId":"player-123","keysToRemove":["tempSettings"]}},"multipleKeys":{"summary":"Remove multiple keys","description":"Removes all three specified keys from the player's data","value":{"userId":"player-123","keysToRemove":["oldPreferences","deprecatedData","tempCache"]}}}}}},"responses":{"200":{"description":"Player data keys removed successfully","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","example":"success"},"code":{"type":"number","example":200},"message":{"type":"string","example":"Player Data removed successfully"},"data":{"type":"object","example":{}},"errors":{"type":"array","items":{},"example":[]}}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Player Others"]}},"/v2/client/app/get-players":{"post":{"operationId":"UsersController_getPlayersV2","summary":"Get players","description":"Retrieve players with optional filtering by username, email, displayName, customId, firstName, or lastName. Supports pagination.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPlayersV2Dto"},"examples":{"Get Players by Custom ID":{"summary":"Get Players by Custom ID","description":"Filter players by custom ID","value":{"filters":[{"type":"customId","value":"task_progress4"}]}},"Get Players by Email":{"summary":"Get Players by Email","description":"Filter players by email","value":{"filters":[{"type":"email","value":"abc@gmail.com"}]}},"Get Players by Username":{"summary":"Get Players by Username","description":"Filter players by username","value":{"filters":[{"type":"username","value":"johndoe123"}]}},"Get Players by Display Name":{"summary":"Get Players by Display Name","description":"Filter players by display name","value":{"filters":[{"type":"displayName","value":"John Doe"}]}},"Get Players by First Name":{"summary":"Get Players by First Name","description":"Filter players by first name","value":{"filters":[{"type":"firstName","value":"John"}]}},"Get Players by Last Name":{"summary":"Get Players by Last Name","description":"Filter players by last name","value":{"filters":[{"type":"lastName","value":"Doe"}]}},"Get Players by Multiple Filters":{"summary":"Get Players by Multiple Filters","description":"Filter players using multiple filters","value":{"filters":[{"type":"customId","value":"task_progress4"},{"type":"email","value":"abc@gmail.com"}]}}}}}},"responses":{"200":{"description":"Players retrieved successfully","content":{"application/json":{"examples":{"Get Players by Custom ID":{"summary":"Response for players filtered by custom ID","value":{"status":"success","code":200,"message":"Players List","errors":[],"data":[{"uuid":"8c2ab2c0-89e2-49c5-8f22-b43262122696","id":"8c2ab2c0-89e2-49c5-8f22-b43262122696","displayName":null,"firstName":null,"lastName":null,"username":null,"thumbUrl":null,"customId":"task_progress4","email":null}]}},"Get Players by Email":{"summary":"Response for players filtered by email","value":{"status":"success","code":200,"message":"Players List","errors":[],"data":[{"uuid":"b0092818-4e8b-4bdf-9a47-b42626f0968b","id":"b0092818-4e8b-4bdf-9a47-b42626f0968b","displayName":"John Doe","firstName":"John","lastName":"Doe","username":"johndoe123","thumbUrl":"https://cdn.example.com/avatar.png","customId":null,"email":"abc@gmail.com"}]}},"Get Players by Username":{"summary":"Response for players filtered by username","value":{"status":"success","code":200,"message":"Players List","errors":[],"data":[{"uuid":"b0092818-4e8b-4bdf-9a47-b42626f0968b","id":"b0092818-4e8b-4bdf-9a47-b42626f0968b","displayName":"John Doe","firstName":"John","lastName":"Doe","username":"johndoe123","thumbUrl":"https://cdn.example.com/avatar.png","customId":null,"email":"abc@gmail.com"}]}},"Get Players by Display Name":{"summary":"Response for players filtered by display name","value":{"status":"success","code":200,"message":"Players List","errors":[],"data":[{"uuid":"b0092818-4e8b-4bdf-9a47-b42626f0968b","id":"b0092818-4e8b-4bdf-9a47-b42626f0968b","displayName":"John Doe","firstName":"John","lastName":"Doe","username":"johndoe123","thumbUrl":"https://cdn.example.com/avatar.png","customId":null,"email":"abc@gmail.com"}]}},"Get Players by First Name":{"summary":"Response for players filtered by first name","value":{"status":"success","code":200,"message":"Players List","errors":[],"data":[{"uuid":"b0092818-4e8b-4bdf-9a47-b42626f0968b","id":"b0092818-4e8b-4bdf-9a47-b42626f0968b","displayName":"John Doe","firstName":"John","lastName":"Doe","username":"johndoe123","thumbUrl":"https://cdn.example.com/avatar.png","customId":null,"email":"abc@gmail.com"}]}},"Get Players by Last Name":{"summary":"Response for players filtered by last name","value":{"status":"success","code":200,"message":"Players List","errors":[],"data":[{"uuid":"b0092818-4e8b-4bdf-9a47-b42626f0968b","id":"b0092818-4e8b-4bdf-9a47-b42626f0968b","displayName":"John Doe","firstName":"John","lastName":"Doe","username":"johndoe123","thumbUrl":"https://cdn.example.com/avatar.png","customId":null,"email":"abc@gmail.com"}]}},"Get Players by Multiple Filters":{"summary":"Response for players filtered by multiple criteria","value":{"status":"success","code":200,"message":"Players List","errors":[],"data":[{"uuid":"8c2ab2c0-89e2-49c5-8f22-b43262122696","id":"8c2ab2c0-89e2-49c5-8f22-b43262122696","displayName":null,"firstName":null,"lastName":null,"username":null,"thumbUrl":null,"customId":"task_progress4","email":null},{"uuid":"b0092818-4e8b-4bdf-9a47-b42626f0968b","id":"b0092818-4e8b-4bdf-9a47-b42626f0968b","displayName":"John Doe","firstName":"John","lastName":"Doe","username":"johndoe123","thumbUrl":"https://cdn.example.com/avatar.png","customId":null,"email":"abc@gmail.com"}]}}}}}}},"security":[{"apiKey":[]}],"tags":["App"]}},"/v2/client/events/send-custom":{"post":{"operationId":"UsersController_customEventV2","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FireCustomEventDto"}}}},"responses":{"201":{"description":""}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Event"]}},"/v2/client/liveops/get-server-time":{"post":{"operationId":"UsersController_getServerTimeV2","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetServerTimeDto"}}}},"responses":{"201":{"description":""}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Live-ops"]}},"/v2/client/auth/signup-email":{"post":{"operationId":"UsersController_signupWithEmailV2","summary":"Sign up with email","description":"Create a new account using email and password","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","description":"User email address","example":"user@example.com"},"password":{"type":"string","description":"User password","example":"password123"},"meta":{"type":"object","description":"Optional metadata","example":{}},"customParams":{"type":"object","description":"Custom parameters","example":{}}},"required":["email","password"]},"examples":{"Signup with Email":{"summary":"Sign up with email","value":{"email":"user@example.com","password":"1234"}}}}}},"responses":{"201":{"description":"User signed up successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":201,"message":"User Signed Up Successfully","errors":[],"data":{"user":{"uuid":"7a27a117-493f-426a-9b2b-c13f3f6c448e","id":"7a27a117-493f-426a-9b2b-c13f3f6c448e","email":null,"displayName":null,"firstName":null,"lastName":null,"hash":"#422","username":null,"birthdate":null,"thumbUrl":null,"meta":null,"tags":[],"linkedAccounts":[{"authProvider":"Custom","userId":null},{"authProvider":"Google","userId":null},{"authProvider":"Facebook","userId":null},{"authProvider":"Apple","userId":null},{"authProvider":"Steam","userId":null},{"authProvider":"Discord","userId":null}],"isKycComplete":null,"playerData":{}},"accessToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...","entityToken":"a0cd7a9227c7a2ccf633f5e2f609b8d0","createdAccount":true}}}}}}},"security":[{"apiKey":[]}],"tags":["Auth"]}},"/v2/client/auth/signup-username":{"post":{"operationId":"UsersController_signupWithUsernameV2","summary":"Sign up with username","description":"Create a new account using username and password","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"username":{"type":"string","description":"Username","example":"johndoe123"},"password":{"type":"string","description":"User password","example":"password123"},"meta":{"type":"object","description":"Optional metadata","example":{}},"customParams":{"type":"object","description":"Custom parameters","example":{}}},"required":["username","password"]},"examples":{"Signup with Username":{"summary":"Sign up with username","value":{"username":"johndoe123","password":"1234"}}}}}},"responses":{"201":{"description":"User signed up successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":201,"message":"User Signed Up Successfully","errors":[],"data":{"user":{"uuid":"7a27a117-493f-426a-9b2b-c13f3f6c448e","id":"7a27a117-493f-426a-9b2b-c13f3f6c448e","email":null,"displayName":null,"firstName":null,"lastName":null,"hash":"#422","username":null,"birthdate":null,"thumbUrl":null,"meta":null,"tags":[],"linkedAccounts":[{"authProvider":"Custom","userId":null},{"authProvider":"Google","userId":null},{"authProvider":"Facebook","userId":null},{"authProvider":"Apple","userId":null},{"authProvider":"Steam","userId":null},{"authProvider":"Discord","userId":null}],"isKycComplete":null,"playerData":{}},"accessToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...","entityToken":"a0cd7a9227c7a2ccf633f5e2f609b8d0","createdAccount":true}}}}}}},"security":[{"apiKey":[]}],"tags":["Auth"]}},"/v2/client/auth/login-email":{"post":{"operationId":"UsersController_loginWithEmailV2","summary":"Login with email","description":"Login using email and password","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","description":"User email address","example":"user@example.com"},"password":{"type":"string","description":"User password","example":"password123"},"createAccount":{"type":"boolean","description":"Create account if not exists","example":false},"meta":{"type":"object","description":"Optional metadata","example":{}},"customParams":{"type":"object","description":"Custom parameters","example":{}}},"required":["email","password"]},"examples":{"Login with Email":{"summary":"Login with email","value":{"email":"user@example.com","password":"1234"}},"Login and Create Account":{"summary":"Login and create account if not exists","value":{"email":"newuser@example.com","password":"1234","createAccount":true}}}}}},"responses":{"201":{"description":"User logged in successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":201,"message":"User Logged In Successfully","errors":[],"data":{"user":{"uuid":"7a27a117-493f-426a-9b2b-c13f3f6c448e","id":"7a27a117-493f-426a-9b2b-c13f3f6c448e","email":null,"displayName":null,"firstName":null,"lastName":null,"hash":"#422","username":null,"birthdate":null,"thumbUrl":null,"meta":null,"tags":[],"linkedAccounts":[{"authProvider":"Custom","userId":null},{"authProvider":"Google","userId":null},{"authProvider":"Facebook","userId":null},{"authProvider":"Apple","userId":null},{"authProvider":"Steam","userId":null},{"authProvider":"Discord","userId":null}],"isKycComplete":null,"playerData":{}},"accessToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...","entityToken":"a0cd7a9227c7a2ccf633f5e2f609b8d0","createdAccount":false}}}}}}},"security":[{"apiKey":[]}],"tags":["Auth"]}},"/v2/client/auth/login-username":{"post":{"operationId":"UsersController_loginWithUsernameV2","summary":"Login with username","description":"Login using username and password","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"username":{"type":"string","description":"Username","example":"johndoe123"},"password":{"type":"string","description":"User password","example":"password123"},"createAccount":{"type":"boolean","description":"Create account if not exists","example":false},"meta":{"type":"object","description":"Optional metadata","example":{}},"customParams":{"type":"object","description":"Custom parameters","example":{}}},"required":["username","password"]},"examples":{"Login with Username":{"summary":"Login with username","value":{"username":"johndoe123","password":"1234"}},"Login and Create Account":{"summary":"Login and create account if not exists","value":{"username":"newuser123","password":"1234","createAccount":true}}}}}},"responses":{"201":{"description":"User logged in successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":201,"message":"User Logged In Successfully","errors":[],"data":{"user":{"uuid":"7a27a117-493f-426a-9b2b-c13f3f6c448e","id":"7a27a117-493f-426a-9b2b-c13f3f6c448e","email":null,"displayName":null,"firstName":null,"lastName":null,"hash":"#422","username":null,"birthdate":null,"thumbUrl":null,"meta":null,"tags":[],"linkedAccounts":[{"authProvider":"Custom","userId":null},{"authProvider":"Google","userId":null},{"authProvider":"Facebook","userId":null},{"authProvider":"Apple","userId":null},{"authProvider":"Steam","userId":null},{"authProvider":"Discord","userId":null}],"isKycComplete":null,"playerData":{}},"accessToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...","entityToken":"a0cd7a9227c7a2ccf633f5e2f609b8d0","createdAccount":false}}}}}}},"security":[{"apiKey":[]}],"tags":["Auth"]}},"/v2/client/auth/login-custom":{"post":{"operationId":"UsersController_loginWithCustomIdV2","summary":"Login with custom ID","description":"Login using custom identifier","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"customId":{"type":"string","description":"Custom identifier","example":"custom_user_123"},"createAccount":{"type":"boolean","description":"Create account if not exists","example":false},"meta":{"type":"object","description":"Optional metadata","example":{}},"customParams":{"type":"object","description":"Custom parameters","example":{}}},"required":["customId"]},"examples":{"Login with Custom ID":{"summary":"Login with custom ID","value":{"customId":"custom_user_123"}},"Login and Create Account":{"summary":"Login and create account if not exists","value":{"customId":"new_custom_user","createAccount":true}}}}}},"responses":{"201":{"description":"User logged in successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":201,"message":"User Logged In Successfully","errors":[],"data":{"user":{"uuid":"7a27a117-493f-426a-9b2b-c13f3f6c448e","id":"7a27a117-493f-426a-9b2b-c13f3f6c448e","email":null,"displayName":null,"firstName":null,"lastName":null,"hash":"#422","username":null,"birthdate":null,"thumbUrl":null,"meta":null,"tags":[],"linkedAccounts":[{"authProvider":"Custom","userId":null},{"authProvider":"Google","userId":null},{"authProvider":"Facebook","userId":null},{"authProvider":"Apple","userId":null},{"authProvider":"Steam","userId":null},{"authProvider":"Discord","userId":null}],"isKycComplete":null,"playerData":{}},"accessToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...","entityToken":"a0cd7a9227c7a2ccf633f5e2f609b8d0","createdAccount":false}}}}}}},"security":[{"apiKey":[]}],"tags":["Auth"]}},"/v2/client/auth/signup-custom":{"post":{"operationId":"UsersController_signupWithCustomIdV2","summary":"Sign up with custom ID","description":"Create a new account using custom identifier","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"customId":{"type":"string","description":"Custom identifier","example":"custom_user_123"},"meta":{"type":"object","description":"Optional metadata","example":{}},"customParams":{"type":"object","description":"Custom parameters","example":{}}},"required":["customId"]},"examples":{"Signup with Custom ID":{"summary":"Sign up with custom ID","value":{"customId":"custom_user_123"}}}}}},"responses":{"201":{"description":"User signed up successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":201,"message":"User Signed Up Successfully","errors":[],"data":{"user":{"uuid":"7a27a117-493f-426a-9b2b-c13f3f6c448e","id":"7a27a117-493f-426a-9b2b-c13f3f6c448e","email":null,"displayName":null,"firstName":null,"lastName":null,"hash":"#422","username":null,"birthdate":null,"thumbUrl":null,"meta":null,"tags":[],"linkedAccounts":[{"authProvider":"Custom","userId":null},{"authProvider":"Google","userId":null},{"authProvider":"Facebook","userId":null},{"authProvider":"Apple","userId":null},{"authProvider":"Steam","userId":null},{"authProvider":"Discord","userId":null}],"isKycComplete":null,"playerData":{}},"accessToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...","entityToken":"a0cd7a9227c7a2ccf633f5e2f609b8d0","createdAccount":true}}}}}}},"security":[{"apiKey":[]}],"tags":["Auth"]}},"/v2/client/auth/refresh-token":{"post":{"operationId":"UsersController_refreshAccessTokenV2","summary":"Refresh access token V2","description":"Gets a new access token using the entity token and expiring access token. Use this endpoint to get a new access token before the current one expires. The entity token is a long-lived token provided during login/signup and can be reused for multiple refreshes.","parameters":[],"requestBody":{"required":true,"description":"Tokens required for refresh","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefreshAccessTokenDto"},"examples":{"refreshToken":{"summary":"Refresh token","description":"Exchange entity token and expiring access token for a new access token","value":{"entityToken":"entity-token-received-at-login","expiringAccessToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."}}}}}},"responses":{"201":{"description":"Access token refreshed successfully","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","example":"success"},"code":{"type":"number","example":201},"message":{"type":"string","example":"Access token Refreshed Successfully"},"data":{"type":"object","properties":{"refreshAccessToken":{"type":"object","properties":{"accessToken":{"type":"string","example":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."},"expiresIn":{"type":"number","example":3600,"description":"Token expiry time in seconds"}}}}},"errors":{"type":"array","items":{},"example":[]}}}}}}},"security":[{"apiKey":[]}],"tags":["Auth"]}},"/v2/client/auth/validate-token":{"post":{"operationId":"UsersController_validateTokenV2","summary":"Validate access token V2","description":"Verifies if an access token is still valid and returns user information extracted from the token. Can be used by game servers to validate player tokens. Token validation doesn't consume or modify the token.","parameters":[],"requestBody":{"required":true,"description":"Access token to validate","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidateTokenDto"},"examples":{"validateOnly":{"summary":"Validate access token only","description":"Verify if an access token is still valid","value":{"accessToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."}},"validateWithEntity":{"summary":"Validate with entity token","description":"Validate access token with additional entity token verification","value":{"accessToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...","entityToken":"entity-token-string"}}}}}},"responses":{"200":{"description":"Access token validated successfully","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","example":"success"},"code":{"type":"number","example":200},"message":{"type":"string","example":"Access token Validated Successfully"},"data":{"type":"object","properties":{"valid":{"type":"boolean","example":true},"user":{"type":"object","properties":{"id":{"type":"string","example":"user-uuid"},"email":{"type":"string","example":"user@example.com"},"username":{"type":"string","example":"player123"},"displayName":{"type":"string","example":"Player One"}}},"expiresAt":{"type":"string","example":"2024-01-15T11:30:00.000Z"}}},"errors":{"type":"array","items":{},"example":[]}}}}}}},"security":[{"apiKey":[]}],"tags":["Auth"]}},"/v2/client/player/me/update-profile":{"post":{"operationId":"UsersController_updateMyProfileV2","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserDto"}}}},"responses":{"201":{"description":""}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["My Player"]}},"/v2/client/account/update":{"post":{"operationId":"UsersController_updateAccountV2","summary":"Update account","description":"Update linked account information","parameters":[],"requestBody":{"required":true,"description":"Update linked account","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkUserAccounts"},"examples":{"Update Custom ID":{"summary":"Update custom ID","value":{"type":"customId","id":"wowId"}},"Update Google ID":{"summary":"Update Google account ID","value":{"type":"google","id":"newGoogleId123"}}}}}},"responses":{"200":{"description":"Account updated successfully","content":{"application/json":{"examples":{"Update Custom ID":{"summary":"Custom ID updated","value":{"status":"success","code":200,"message":"Account updated successfully","errors":[],"data":{}}},"Update Google ID":{"summary":"Google ID updated","value":{"status":"success","code":200,"message":"Account updated successfully","errors":[],"data":{}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Account"]}},"/v2/client/account/link":{"post":{"operationId":"UsersController_linkAccountV2","summary":"Link account","description":"Link a new account to the user","parameters":[],"requestBody":{"required":true,"description":"Link an account to the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkUserAccounts"},"examples":{"Link Custom ID":{"summary":"Link a custom ID","value":{"type":"customId","id":"checkLink1"}},"Link Google Account":{"summary":"Link a Google account","value":{"type":"google","id":"google123"}}}}}},"responses":{"200":{"description":"Account linked successfully","content":{"application/json":{"examples":{"Link Custom ID":{"summary":"Custom ID linked","value":{"status":"success","code":200,"message":"Account linked successfully","errors":[],"data":{}}},"Link Google Account":{"summary":"Google account linked","value":{"status":"success","code":200,"message":"Account linked successfully","errors":[],"data":{}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Account"]}},"/v2/client/account/unlink":{"post":{"operationId":"UsersController_unlinkAccountV2","summary":"Unlink account","description":"Unlink an account from the user","parameters":[],"requestBody":{"required":true,"description":"Unlink an account from the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnlinkUserAccountsDto"},"examples":{"Unlink Custom ID":{"summary":"Unlink a custom ID","value":{"type":"customId"}},"Unlink Google Account":{"summary":"Unlink a Google account","value":{"type":"google"}}}}}},"responses":{"200":{"description":"Account unlinked successfully","content":{"application/json":{"examples":{"Unlink Custom ID":{"summary":"Custom ID unlinked","value":{"status":"success","code":200,"message":"Account unlinked successfully","errors":[],"data":{}}},"Unlink Google Account":{"summary":"Google account unlinked","value":{"status":"success","code":200,"message":"Account unlinked successfully","errors":[],"data":{}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Account"]}},"/v2/client/wallet/get-history":{"post":{"operationId":"UsersController_getTransactionHistoryV2","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetTransactionHistoryDto"}}}},"responses":{"201":{"description":""}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Wallet"]}},"/v2/client/account/change-password":{"post":{"operationId":"UsersController_changePasswordV2","summary":"Change password","description":"Change the user password","parameters":[],"requestBody":{"required":true,"description":"Change user password","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangePasswordDto"},"examples":{"Change Password":{"summary":"Change password","value":{"currentPassword":"oldPassword123","newPassword":"newPassword456"}}}}}},"responses":{"200":{"description":"Password changed successfully","content":{"application/json":{"examples":{"Change Password":{"summary":"Password changed","value":{"status":"success","code":200,"message":"Password changed successfully","errors":[],"data":{}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Account"]}},"/v2/client/account/forgot-password":{"post":{"operationId":"UsersController_forgotPasswordV2","summary":"Forgot password","description":"Request password reset token","parameters":[],"requestBody":{"required":true,"description":"Request password reset token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForgotPasswordDto"},"examples":{"Forgot Password":{"summary":"Request reset token via email","value":{"type":"email","id":"john@example.com"}}}}}},"responses":{"200":{"description":"Reset token sent successfully","content":{"application/json":{"examples":{"Forgot Password":{"summary":"Reset token generated","value":{"status":"success","code":200,"message":"Reset token for forgot password sent successfully","errors":[],"data":{"resetPasswordToken":"b3c6a0a183fe59d0d38ad44076435a64a8bd5319","expiresIn":"2024-04-08T10:19:17.254Z"}}}}}}}},"security":[{"apiKey":[]}],"tags":["Account"]}},"/v2/client/account/reset-password":{"post":{"operationId":"UsersController_clientResetPasswordV2","summary":"Reset password","description":"Reset password using token","parameters":[],"requestBody":{"required":true,"description":"Reset password using token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientResetPasswordDto"},"examples":{"Reset Password":{"summary":"Reset password with token","value":{"type":"email","id":"john@example.com","resetPasswordToken":"reset-token-123","password":"newPassword123"}}}}}},"responses":{"200":{"description":"Password reset successfully","content":{"application/json":{"examples":{"Reset Password":{"summary":"Password reset","value":{"status":"success","code":200,"message":"Password reset successfully","errors":[],"data":{}}}}}}}},"security":[{"apiKey":[]}],"tags":["Account"]}},"/v2/client/player/me/get-profile":{"post":{"operationId":"UsersController_getMyPlayerProfileV2","summary":"Get current player profile V2","description":"Retrieves the authenticated user's profile information. Supports optional attributes to include additional data like linked accounts, KYC status, and equipped items.","parameters":[],"requestBody":{"required":true,"description":"Optional attributes to include in response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMyProfileV2Dto"},"examples":{"basic":{"summary":"Basic request","description":"Returns basic profile information with user object","value":{}},"withLinkedAccounts":{"summary":"With linked accounts","description":"Returns profile with linked social accounts","value":{"attributes":["linkedAccounts"]}},"fullProfile":{"summary":"Full profile","description":"Returns profile with all optional data","value":{"attributes":["linkedAccounts","isKycComplete","equippedItems"]}}}}}},"responses":{"200":{"description":"Player profile retrieved successfully","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","example":"success"},"code":{"type":"number","example":200},"message":{"type":"string","example":"My Profile data"},"data":{"type":"object","properties":{"user":{"type":"object","properties":{"uuid":{"type":"string","example":"550e8400-e29b-41d4-a716-446655440000"},"id":{"type":"string","example":"player-123"},"email":{"type":"string","example":"player@example.com"},"displayName":{"type":"string","example":"PlayerOne"},"firstName":{"type":"string","example":"John"},"lastName":{"type":"string","example":"Doe"},"username":{"type":"string","example":"playerone"},"thumbUrl":{"type":"string","example":"https://cdn.example.com/avatar.png"},"referralCode":{"type":"string","example":"ABC123"},"linkedAccounts":{"type":"array","items":{"type":"object","properties":{"authProvider":{"type":"string","example":"google"},"userId":{"type":"string","example":"google-user-id-123"}}},"description":"Included when attributes contains linkedAccounts"},"isKycComplete":{"type":"boolean","example":true,"description":"Included when attributes contains isKycComplete"}}},"equippedItems":{"type":"array","items":{"type":"object","properties":{"instanceId":{"type":"string","example":"instance-uuid"},"uuid":{"type":"string","example":"item-uuid"},"id":{"type":"string","example":"sword-001"},"name":{"type":"string","example":"Legendary Sword"},"description":{"type":"string","example":"A powerful weapon"},"iconUrl":{"type":"string","example":"https://cdn.example.com/sword.png"},"rarity":{"type":"object","properties":{"id":{"type":"string","example":"rarity-uuid"},"name":{"type":"string","example":"Legendary"}}},"collectionId":{"type":"string","example":"weapons-collection"}}},"description":"Included when attributes contains equippedItems"}}},"errors":{"type":"array","items":{},"example":[]}}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["My Player"]}},"/v2/client/player/get-profile":{"post":{"operationId":"UsersController_getPlayerProfileV2","summary":"Get another player profile V2","description":"Retrieves profile information for a specified player. You must provide at least one identifier (userId, username, or email). Supports optional attributes to include additional data like metadata, wallet, progression, and stats.","parameters":[],"requestBody":{"required":true,"description":"Player identifier and optional attributes","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetUserProfileV2Dto"},"examples":{"byUserId":{"summary":"By user ID","description":"Returns basic profile for player-123","value":{"userId":"player-123"}},"byUsername":{"summary":"By username with attributes","description":"Returns profile found by username with wallet and progression","value":{"username":"playerone","attributes":["wallet","progression"]}}}}}},"responses":{"200":{"description":"Player profile retrieved successfully","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","example":"success"},"code":{"type":"number","example":200},"message":{"type":"string","example":"Player Profile data"},"data":{"type":"object","properties":{"uuid":{"type":"string","example":"user-uuid"},"userId":{"type":"string","example":"player-123"},"displayName":{"type":"string","example":"PlayerOne"},"username":{"type":"string","example":"playerone"},"iconUrl":{"type":"string","example":"https://cdn.example.com/avatar.png"},"createdAt":{"type":"string","example":"2025-01-01T00:00:00.000Z"},"meta":{"type":"object","properties":{"level":{"type":"number","example":25},"bio":{"type":"string","example":"Competitive gamer"}},"description":"Included when attributes contains meta"},"wallet":{"type":"object","properties":{"currencies":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","example":"currency-uuid"},"id":{"type":"string","example":"gold-coins"},"name":{"type":"string","example":"Gold Coins"},"balance":{"type":"number","example":5000}}}}},"description":"Included when attributes contains wallet"},"progression":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","example":"level-uuid"},"id":{"type":"string","example":"player-level"},"name":{"type":"string","example":"Player Level"},"currentLevel":{"type":"number","example":25},"currentXp":{"type":"number","example":7500},"xpToNextLevel":{"type":"number","example":10000}}},"description":"Included when attributes contains progression"},"stats":{"type":"object","properties":{"gamesPlayed":{"type":"number","example":150},"gamesWon":{"type":"number","example":85},"winRate":{"type":"number","example":56.7}},"description":"Included when attributes contains stats"}}},"errors":{"type":"array","items":{},"example":[]}}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Player Others"]}},"/v2/client/player/me/get-data":{"post":{"operationId":"UsersController_getMyPlayerDataV2","summary":"Get current player data V2","description":"Retrieves custom player data for the authenticated user. Can fetch all data or specific keys. Returns the player data as key-value pairs where each key contains a JSON object.","parameters":[],"requestBody":{"required":true,"description":"Optional keys to filter player data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPlayerDataDto"},"examples":{"allData":{"summary":"Get all data","description":"Returns all player data keys and values","value":{}},"specificKeys":{"summary":"Get specific keys","description":"Returns only settings and gameProgress data","value":{"keys":["settings","gameProgress"]}},"singleKey":{"summary":"Get single key","description":"Returns only preferences data","value":{"keys":["preferences"]}}}}}},"responses":{"200":{"description":"Player data retrieved successfully","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","example":"success"},"code":{"type":"number","example":200},"message":{"type":"string","example":"My Player Data"},"data":{"type":"object","properties":{"playerData":{"type":"object","example":{"settings":{"soundEnabled":true,"musicVolume":80},"preferences":{"theme":"dark","language":"en"},"gameProgress":{"lastLevel":15,"stars":42}}}}},"errors":{"type":"array","items":{},"example":[]}}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["My Player"]}},"/v2/client/player/get-single-data":{"post":{"operationId":"UsersController_getPlayerDataV2","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"userId":{"type":"string","description":"User ID to get data for","example":"player-123"},"keys":{"type":"array","items":{"type":"string"},"description":"Optional keys to filter","example":["settings","preferences"]}},"required":["userId"]},"examples":{"Get All Player Data":{"summary":"Get All Player Data","description":"Get all data for a specific player","value":{"userId":"player-123"}},"Get Specific Keys":{"summary":"Get Specific Keys","description":"Get specific data keys for a player","value":{"userId":"player-123","keys":["settings","gameProgress"]}}}}}},"responses":{"200":{"description":"Player data retrieved successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"Get Player Data","errors":[],"data":{"settings":{"value":{"soundEnabled":true,"musicVolume":80},"permission":"private"},"gameProgress":{"value":{"lastLevel":15,"stars":42},"permission":"private"}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Player Others"]}},"/v2/client/player/get-data":{"post":{"operationId":"UsersController_getMultiplePlayersDataV2","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"userIds":{"type":"array","items":{"type":"string"},"description":"Array of user IDs","example":["player-123","player-456"]},"keys":{"type":"array","items":{"type":"string"},"description":"Optional keys to filter","example":["settings"]}},"required":["userIds"]},"examples":{"Get Multiple Players Data":{"summary":"Get Multiple Players Data","description":"Get data for multiple players at once","value":{"userIds":["player-123","player-456"]}},"Get Specific Keys for Multiple Players":{"summary":"Get Specific Keys for Multiple Players","description":"Get specific data keys for multiple players","value":{"userIds":["player-123","player-456"],"keys":["publicProfile","stats"]}}}}}},"responses":{"200":{"description":"Multiple players data retrieved successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"Get Multiple Players Data","errors":[],"data":[{"userId":"player-123","playerData":{"publicProfile":{"value":{"bio":"Pro gamer","level":25},"permission":"public"}}},{"userId":"player-456","playerData":{"publicProfile":{"value":{"bio":"Casual player","level":10},"permission":"public"}}}]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Player Others"]}},"/v2/client/player/me/remove-data":{"post":{"operationId":"UsersController_removePlayerDataV2","parameters":[],"requestBody":{"required":true,"description":"Keys to remove from player data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemovePlayerDataDto"},"examples":{"Remove Data":{"summary":"Remove Data","description":"Remove specific keys from player data","value":{"keysToRemove":["hello"]}}}}}},"responses":{"200":{"description":"Player data removed successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"Player Data removed successfully","errors":[],"data":{"GuidanceStatesData":{"value":{"guidanceStateDatas":[{"guidanceId":"FTUE_Guidance","guidanceState":2},{"guidanceId":"cyberpad_guidance","guidanceState":2}]},"permission":"private"},"GSGuidanceCheckpointData":{"value":{"taskId":"tskgrp_ftue_03_03","guidanceDataId":"FTUE_Guidance","tutorialDataId":"111","tutorialDataIndex":13,"checkpointIndex":13,"sceneAddress":"Assets/PlayStarzMain/Scenes/PlayWorld_ArcadeScene.unity"},"permission":"private"},"GSClanInfo":{"value":{"clanName":"Terra","clanId":"GSClan_4"},"permission":"private"},"friendsList":{"value":[{"userId":"925f834d-aa86-47d2-adbf-39cd9e70994f","status":"request_sent"},{"userId":"5267c248-6808-4663-8af9-a8ca82cdb8d3","status":"request_sent"}],"permission":"public"},"MetaGameData":{"value":{"gameIds":["game_00001","game_00006","game_00004","game_00003"],"gameData":{"game_00001":{"bestScore":7},"game_00006":{"bestScore":50},"game_00004":{"bestScore":705},"game_00003":{"bestScore":64}}},"permission":"private"}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["My Player"]}},"/v2/client/player/me/get-wallet-history":{"post":{"operationId":"UsersController_getMyTransactionHistory","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limit":{"type":"number","description":"Number of transactions to fetch","example":10},"offset":{"type":"number","description":"Offset for pagination","example":0}}},"examples":{"Get Wallet History":{"summary":"Get Wallet History","description":"Get wallet transaction history for the authenticated user","value":{"limit":10,"offset":0}}}}}},"responses":{"200":{"description":"Wallet history retrieved successfully","content":{"application/json":{"schema":{"example":{"code":200,"data":{"transactions":[{"id":"wl_c0c37282-5c0f-4c9b-8e8a-d7c1a83e7c39","transactionType":"credit","transactionFor":"task_completion_reward","status":"completed","amount":100,"updatedAt":"2024-12-09T06:34:28.683Z","createdAt":"2024-12-09T06:34:28.683Z","currency":{"uuid":"cur_qbit","id":"qbit","name":"Q-Bits","iconUrl":"https://playstarz-staging.s3.ap-south-1.amazonaws.com/icon.png"},"realWorldCurrency":null},{"id":"wl_b1d48393-6d1g-5d0c-9f9b-e8d2b94f8d40","transactionType":"debit","transactionFor":"store_purchase","status":"completed","amount":50,"updatedAt":"2024-12-09T05:20:15.123Z","createdAt":"2024-12-09T05:20:15.123Z","currency":null,"realWorldCurrency":{"uuid":1,"id":1,"countryName":"India","currency":"Indian Rupee","code":"INR","symbol":"₹"}}],"totalCount":25},"errors":[],"message":"Get My transaction history","status":"success"}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["My Player"]}},"/v2/client/player/get-wallet-history":{"post":{"operationId":"UsersController_getOtherTransactionHistory","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"userId":{"type":"string","description":"User ID to get wallet history for","example":"player-123"},"limit":{"type":"number","description":"Number of transactions to fetch","example":10},"offset":{"type":"number","description":"Offset for pagination","example":0}},"required":["userId"]},"examples":{"Get Player Wallet History":{"summary":"Get Player Wallet History","description":"Get wallet transaction history for a specific player","value":{"userId":"player-123","limit":10,"offset":0}}}}}},"responses":{"200":{"description":"Player wallet history retrieved successfully","content":{"application/json":{"schema":{"example":{"code":200,"data":{"transactions":[{"id":"wl_c0c37282-5c0f-4c9b-8e8a-d7c1a83e7c39","transactionType":"credit","transactionFor":"task_completion_reward","status":"completed","amount":100,"updatedAt":"2024-12-09T06:34:28.683Z","createdAt":"2024-12-09T06:34:28.683Z","currency":{"uuid":"cur_qbit","id":"qbit","name":"Q-Bits","iconUrl":"https://playstarz-staging.s3.ap-south-1.amazonaws.com/icon.png"},"realWorldCurrency":null},{"id":"wl_d2e59494-7e2h-6e1d-0g0c-f9e3c05g9e51","transactionType":"debit","transactionFor":"store_purchase","status":"completed","amount":99,"updatedAt":"2024-12-09T04:15:10.456Z","createdAt":"2024-12-09T04:15:10.456Z","currency":null,"realWorldCurrency":{"uuid":2,"id":2,"countryName":"United States","currency":"US Dollar","code":"USD","symbol":"$"}}],"totalCount":15},"errors":[],"message":"Get My transaction history","status":"success"}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Player Others"]}},"/v2/client/player/me/get-match-history":{"post":{"operationId":"UsersController_getMyMatchHistory","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMyMatchHistoryV2Dto"}}}},"responses":{"201":{"description":""}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["My Player"]}},"/v2/client/player/get-match-history":{"post":{"operationId":"UsersController_getOtherMatchHistory","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"userId":{"type":"string","description":"User ID to get match history for","example":"player-123"},"limit":{"type":"number","description":"Number of matches to fetch","example":10},"offset":{"type":"number","description":"Offset for pagination","example":0}},"required":["userId"]},"examples":{"Get Player Match History":{"summary":"Get Player Match History","description":"Get match history for a specific player","value":{"userId":"player-123","limit":10,"offset":0}}}}}},"responses":{"200":{"description":"Player match history retrieved successfully","content":{"application/json":{"schema":{"example":{"code":200,"data":[{"matchSessionId":"session-uuid-1","matchId":"match_01","state":"ended","outcome":100,"rank":1,"createdAt":"2024-12-09T06:34:28.683Z","updatedAt":"2024-12-09T06:35:28.683Z"},{"matchSessionId":"session-uuid-2","matchId":"match_02","state":"ended","outcome":85,"rank":2,"createdAt":"2024-12-08T10:20:15.123Z","updatedAt":"2024-12-08T10:25:30.456Z"}],"errors":[],"message":"match history","status":"success"}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Player Others"]}},"/v2/client/auth/signup-steam":{"post":{"operationId":"UsersController_signUpWithSteam","summary":"Sign up with Steam","description":"Create a new account using Steam authentication","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"steamId":{"type":"string","description":"Steam user ID","example":"76561198012345678"},"steamTicket":{"type":"string","description":"Steam auth ticket","example":"steam-auth-ticket-123"}},"required":["steamId","steamTicket"]},"examples":{"Signup with Steam":{"summary":"Sign up using Steam","value":{"steamId":"76561198012345678","steamTicket":"steam-auth-ticket-123"}}}}}},"responses":{"201":{"description":"User signed up with Steam successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":201,"message":"User Signed Up with Steam","errors":[],"data":{"user":{"uuid":"7a27a117-493f-426a-9b2b-c13f3f6c448e","id":"7a27a117-493f-426a-9b2b-c13f3f6c448e","email":null,"displayName":null,"firstName":null,"lastName":null,"hash":"#422","username":null,"birthdate":null,"thumbUrl":null,"meta":null,"tags":[],"linkedAccounts":[{"authProvider":"Custom","userId":null},{"authProvider":"Google","userId":null},{"authProvider":"Facebook","userId":null},{"authProvider":"Apple","userId":null},{"authProvider":"Steam","userId":null},{"authProvider":"Discord","userId":null}],"isKycComplete":null,"playerData":{}},"accessToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...","entityToken":"a0cd7a9227c7a2ccf633f5e2f609b8d0","createdAccount":true}}}}}}},"security":[{"apiKey":[]}],"tags":["Auth"]}},"/v2/client/auth/login-steam":{"post":{"operationId":"UsersController_loginWithSteam","summary":"Login with Steam","description":"Login using Steam authentication","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"steamId":{"type":"string","description":"Steam user ID","example":"76561198012345678"},"steamTicket":{"type":"string","description":"Steam auth ticket","example":"steam-auth-ticket-123"}},"required":["steamId","steamTicket"]},"examples":{"Login with Steam":{"summary":"Login using Steam","value":{"steamId":"76561198012345678","steamTicket":"steam-auth-ticket-123"}}}}}},"responses":{"200":{"description":"Logged in via Steam successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"Logged in via Steam","errors":[],"data":{"user":{"uuid":"7a27a117-493f-426a-9b2b-c13f3f6c448e","id":"7a27a117-493f-426a-9b2b-c13f3f6c448e","email":null,"displayName":null,"firstName":null,"lastName":null,"hash":"#422","username":null,"birthdate":null,"thumbUrl":null,"meta":null,"tags":[],"linkedAccounts":[{"authProvider":"Custom","userId":null},{"authProvider":"Google","userId":null},{"authProvider":"Facebook","userId":null},{"authProvider":"Apple","userId":null},{"authProvider":"Steam","userId":null},{"authProvider":"Discord","userId":null}],"isKycComplete":null,"playerData":{}},"accessToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...","entityToken":"a0cd7a9227c7a2ccf633f5e2f609b8d0","createdAccount":false}}}}}}},"security":[{"apiKey":[]}],"tags":["Auth"]}},"/v2/client/auth/signup-apple":{"post":{"operationId":"UsersController_signUpWithApple","summary":"Sign up with Apple","description":"Create a new account using Apple Sign-In","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"identityToken":{"type":"string","description":"Apple identity token","example":"apple-identity-token-123"},"authorizationCode":{"type":"string","description":"Apple authorization code","example":"apple-auth-code-123"}},"required":["identityToken"]},"examples":{"Signup with Apple":{"summary":"Sign up using Apple","value":{"identityToken":"apple-identity-token-123","authorizationCode":"apple-auth-code-123"}}}}}},"responses":{"201":{"description":"User signed up with Apple successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":201,"message":"User Signed Up with Apple","errors":[],"data":{"user":{"uuid":"7a27a117-493f-426a-9b2b-c13f3f6c448e","id":"7a27a117-493f-426a-9b2b-c13f3f6c448e","email":null,"displayName":null,"firstName":null,"lastName":null,"hash":"#422","username":null,"birthdate":null,"thumbUrl":null,"meta":null,"tags":[],"linkedAccounts":[{"authProvider":"Custom","userId":null},{"authProvider":"Google","userId":null},{"authProvider":"Facebook","userId":null},{"authProvider":"Apple","userId":null},{"authProvider":"Steam","userId":null},{"authProvider":"Discord","userId":null}],"isKycComplete":null,"playerData":{}},"accessToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...","entityToken":"a0cd7a9227c7a2ccf633f5e2f609b8d0","createdAccount":true}}}}}}},"security":[{"apiKey":[]}],"tags":["Auth"]}},"/v2/client/auth/login-apple":{"post":{"operationId":"UsersController_loginWithApple","summary":"Login with Apple","description":"Login using Apple Sign-In","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"identityToken":{"type":"string","description":"Apple identity token","example":"apple-identity-token-123"},"authorizationCode":{"type":"string","description":"Apple authorization code","example":"apple-auth-code-123"}},"required":["identityToken"]},"examples":{"Login with Apple":{"summary":"Login using Apple","value":{"identityToken":"apple-identity-token-123","authorizationCode":"apple-auth-code-123"}}}}}},"responses":{"200":{"description":"Logged in via Apple successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"Logged in via Apple","errors":[],"data":{"user":{"uuid":"7a27a117-493f-426a-9b2b-c13f3f6c448e","id":"7a27a117-493f-426a-9b2b-c13f3f6c448e","email":null,"displayName":null,"firstName":null,"lastName":null,"hash":"#422","username":null,"birthdate":null,"thumbUrl":null,"meta":null,"tags":[],"linkedAccounts":[{"authProvider":"Custom","userId":null},{"authProvider":"Google","userId":null},{"authProvider":"Facebook","userId":null},{"authProvider":"Apple","userId":null},{"authProvider":"Steam","userId":null},{"authProvider":"Discord","userId":null}],"isKycComplete":null,"playerData":{}},"accessToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...","entityToken":"a0cd7a9227c7a2ccf633f5e2f609b8d0","createdAccount":false}}}}}}},"security":[{"apiKey":[]}],"tags":["Auth"]}},"/v2/client/auth/callback":{"get":{"operationId":"UsersController_handleOAuthCallback","parameters":[{"name":"code","required":true,"in":"query","schema":{"type":"string"}},{"name":"state","required":true,"in":"query","schema":{"type":"string"}},{"name":"error","required":true,"in":"query","schema":{"type":"string"}},{"name":"provider","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Auth"]}},"/v2/client/auth/apple-callback":{"post":{"operationId":"UsersController_handleAppleAuthCallback","parameters":[],"responses":{"201":{"description":""}},"security":[{"apiKey":[]}],"tags":["Auth"]}},"/v2/client/auth/signup-discord":{"post":{"operationId":"UsersController_signUpWithDiscord","summary":"Sign up with Discord","description":"Create a new account using Discord authentication","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"accessToken":{"type":"string","description":"Discord access token","example":"discord-access-token-123"}},"required":["accessToken"]},"examples":{"Signup with Discord":{"summary":"Sign up using Discord","value":{"accessToken":"discord-access-token-123"}}}}}},"responses":{"201":{"description":"User signed up with Discord successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":201,"message":"User Signed Up with Discord","errors":[],"data":{"user":{"uuid":"7a27a117-493f-426a-9b2b-c13f3f6c448e","id":"7a27a117-493f-426a-9b2b-c13f3f6c448e","email":null,"displayName":null,"firstName":null,"lastName":null,"hash":"#422","username":null,"birthdate":null,"thumbUrl":null,"meta":null,"tags":[],"linkedAccounts":[{"authProvider":"Custom","userId":null},{"authProvider":"Google","userId":null},{"authProvider":"Facebook","userId":null},{"authProvider":"Apple","userId":null},{"authProvider":"Steam","userId":null},{"authProvider":"Discord","userId":null}],"isKycComplete":null,"playerData":{}},"accessToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...","entityToken":"a0cd7a9227c7a2ccf633f5e2f609b8d0","createdAccount":true}}}}}}},"security":[{"apiKey":[]}],"tags":["Auth"]}},"/v2/client/auth/login-discord":{"post":{"operationId":"UsersController_loginWithDiscord","summary":"Login with Discord","description":"Login using Discord authentication","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"accessToken":{"type":"string","description":"Discord access token","example":"discord-access-token-123"}},"required":["accessToken"]},"examples":{"Login with Discord":{"summary":"Login using Discord","value":{"accessToken":"discord-access-token-123"}}}}}},"responses":{"200":{"description":"Logged in via Discord successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"Logged in via Discord","errors":[],"data":{"user":{"uuid":"7a27a117-493f-426a-9b2b-c13f3f6c448e","id":"7a27a117-493f-426a-9b2b-c13f3f6c448e","email":null,"displayName":null,"firstName":null,"lastName":null,"hash":"#422","username":null,"birthdate":null,"thumbUrl":null,"meta":null,"tags":[],"linkedAccounts":[{"authProvider":"Custom","userId":null},{"authProvider":"Google","userId":null},{"authProvider":"Facebook","userId":null},{"authProvider":"Apple","userId":null},{"authProvider":"Steam","userId":null},{"authProvider":"Discord","userId":null}],"isKycComplete":null,"playerData":{}},"accessToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...","entityToken":"a0cd7a9227c7a2ccf633f5e2f609b8d0","createdAccount":false}}}}}}},"security":[{"apiKey":[]}],"tags":["Auth"]}},"/v2/client/auth/signup-facebook":{"post":{"operationId":"UsersController_signUpWithFacebook","summary":"Sign up with Facebook","description":"Create a new account using Facebook authentication","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"accessToken":{"type":"string","description":"Facebook access token","example":"facebook-access-token-123"}},"required":["accessToken"]},"examples":{"Signup with Facebook":{"summary":"Sign up using Facebook","value":{"accessToken":"facebook-access-token-123"}}}}}},"responses":{"201":{"description":"User signed up with Facebook successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":201,"message":"User Signed Up with Facebook","errors":[],"data":{"user":{"uuid":"7a27a117-493f-426a-9b2b-c13f3f6c448e","id":"7a27a117-493f-426a-9b2b-c13f3f6c448e","email":null,"displayName":null,"firstName":null,"lastName":null,"hash":"#422","username":null,"birthdate":null,"thumbUrl":null,"meta":null,"tags":[],"linkedAccounts":[{"authProvider":"Custom","userId":null},{"authProvider":"Google","userId":null},{"authProvider":"Facebook","userId":null},{"authProvider":"Apple","userId":null},{"authProvider":"Steam","userId":null},{"authProvider":"Discord","userId":null}],"isKycComplete":null,"playerData":{}},"accessToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...","entityToken":"a0cd7a9227c7a2ccf633f5e2f609b8d0","createdAccount":true}}}}}}},"security":[{"apiKey":[]}],"tags":["Auth"]}},"/v2/client/auth/login-facebook":{"post":{"operationId":"UsersController_loginWithFacebook","summary":"Login with Facebook","description":"Login using Facebook authentication","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"accessToken":{"type":"string","description":"Facebook access token","example":"facebook-access-token-123"}},"required":["accessToken"]},"examples":{"Login with Facebook":{"summary":"Login using Facebook","value":{"accessToken":"facebook-access-token-123"}}}}}},"responses":{"200":{"description":"Logged in via Facebook successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"Logged in via Facebook","errors":[],"data":{"user":{"uuid":"7a27a117-493f-426a-9b2b-c13f3f6c448e","id":"7a27a117-493f-426a-9b2b-c13f3f6c448e","email":null,"displayName":null,"firstName":null,"lastName":null,"hash":"#422","username":null,"birthdate":null,"thumbUrl":null,"meta":null,"tags":[],"linkedAccounts":[{"authProvider":"Custom","userId":null},{"authProvider":"Google","userId":null},{"authProvider":"Facebook","userId":null},{"authProvider":"Apple","userId":null},{"authProvider":"Steam","userId":null},{"authProvider":"Discord","userId":null}],"isKycComplete":null,"playerData":{}},"accessToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...","entityToken":"a0cd7a9227c7a2ccf633f5e2f609b8d0","createdAccount":false}}}}}}},"security":[{"apiKey":[]}],"tags":["Auth"]}},"/v2/client/auth/signup-google":{"post":{"operationId":"UsersController_signUpWithGoogle","summary":"Sign up with Google","description":"Create a new account using Google authentication","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"idToken":{"type":"string","description":"Google ID token","example":"google-id-token-123"}},"required":["idToken"]},"examples":{"Signup with Google":{"summary":"Sign up using Google","value":{"idToken":"google-id-token-123"}}}}}},"responses":{"201":{"description":"User signed up with Google successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":201,"message":"User Signed Up with Google","errors":[],"data":{"user":{"uuid":"7a27a117-493f-426a-9b2b-c13f3f6c448e","id":"7a27a117-493f-426a-9b2b-c13f3f6c448e","email":null,"displayName":null,"firstName":null,"lastName":null,"hash":"#422","username":null,"birthdate":null,"thumbUrl":null,"meta":null,"tags":[],"linkedAccounts":[{"authProvider":"Custom","userId":null},{"authProvider":"Google","userId":null},{"authProvider":"Facebook","userId":null},{"authProvider":"Apple","userId":null},{"authProvider":"Steam","userId":null},{"authProvider":"Discord","userId":null}],"isKycComplete":null,"playerData":{}},"accessToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...","entityToken":"a0cd7a9227c7a2ccf633f5e2f609b8d0","createdAccount":true}}}}}}},"security":[{"apiKey":[]}],"tags":["Auth"]}},"/v2/client/auth/login-google":{"post":{"operationId":"UsersController_loginWithGoogle","summary":"Login with Google","description":"Login using Google authentication","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"idToken":{"type":"string","description":"Google ID token","example":"google-id-token-123"}},"required":["idToken"]},"examples":{"Login with Google":{"summary":"Login using Google","value":{"idToken":"google-id-token-123"}}}}}},"responses":{"200":{"description":"Logged in via Google successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"Logged in via Google","errors":[],"data":{"user":{"uuid":"7a27a117-493f-426a-9b2b-c13f3f6c448e","id":"7a27a117-493f-426a-9b2b-c13f3f6c448e","email":null,"displayName":null,"firstName":null,"lastName":null,"hash":"#422","username":null,"birthdate":null,"thumbUrl":null,"meta":null,"tags":[],"linkedAccounts":[{"authProvider":"Custom","userId":null},{"authProvider":"Google","userId":null},{"authProvider":"Facebook","userId":null},{"authProvider":"Apple","userId":null},{"authProvider":"Steam","userId":null},{"authProvider":"Discord","userId":null}],"isKycComplete":null,"playerData":{}},"accessToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...","entityToken":"a0cd7a9227c7a2ccf633f5e2f609b8d0","createdAccount":false}}}}}}},"security":[{"apiKey":[]}],"tags":["Auth"]}},"/v2/client/app/get-matches":{"post":{"operationId":"MatchesController_getClientMatchesV2","summary":"Get matches","description":"Retrieve match configurations with optional filtering by IDs, games, and tags. Supports pagination and attribute selection for game, tags, meta, teams, matchmaking, and runtimeConfig.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetClientMatchesV2Dto"},"examples":{"Retrieve All Matches":{"summary":"Retrieve All Matches with Default Information","description":"Retrieve all matches with pagination","value":{"limit":10,"offset":0}},"Retrieve Specific Matches by IDs":{"summary":"Retrieve Specific Matches by IDs","description":"Retrieve specific matches by providing their IDs","value":{"matchIds":["flame_runner","mystic_maze"]}},"Retrieve Matches with Attributes":{"summary":"Retrieve Matches with Specific Attributes","description":"Retrieve matches with leaderboards, competitions, meta, and tags","value":{"attributes":["leaderboards","competitions","tags","meta"]}},"Retrieve Matches Filtered by Tags":{"summary":"Retrieve Matches Filtered by Tags","description":"Filter matches by specific tags","value":{"includeTags":["Multiplayer","Challenging"],"attributes":["tags"]}},"Retrieve Matches for Specific Games":{"summary":"Retrieve Matches for Specific Games","description":"Retrieve matches associated with specific games","value":{"gameIds":["forest_of_whispers"],"attributes":["meta"]}}}}}},"responses":{"200":{"description":"Matches retrieved successfully","content":{"application/json":{"examples":{"Retrieve All Matches":{"summary":"Response for retrieving all matches","value":{"status":"Success","code":200,"message":"Matches retrieved successfully.","data":{"matches":[{"uuid":"match1-uuid","id":"flame_runner","name":"Flame Runner","description":"Race through the volcanic paths.","iconUrl":"https://cdn.arcadianexus.com/icons/flame_runner.png","game":{"uuid":"abc12345-e89b-12d3-a456-426614174000","id":"realm_of_fire"},"formatType":{"id":1,"name":"single_player"},"outcomeType":{"id":2,"name":"completion_time"},"winCondition":{"id":2,"name":"lower"}},{"uuid":"match2-uuid","id":"lava_leap","name":"Lava Leap","description":"Jump over lava pools to reach the end.","iconUrl":"https://cdn.arcadianexus.com/icons/lava_leap.png","game":{"uuid":"abc12345-e89b-12d3-a456-426614174000","id":"realm_of_fire"},"formatType":{"id":2,"name":"multi_player"},"outcomeType":{"id":1,"name":"score"},"winCondition":{"id":1,"name":"higher"}}],"totalCount":10,"lastUpdate":"2023-10-15T12:00:00Z"},"errors":[]}},"Retrieve Specific Matches by IDs":{"summary":"Response for retrieving specific matches by IDs","value":{"status":"Success","code":200,"message":"Matches retrieved successfully.","data":{"matches":[{"uuid":"match1-uuid","id":"flame_runner","name":"Flame Runner","description":"Race through the volcanic paths.","iconUrl":"https://cdn.arcadianexus.com/icons/flame_runner.png","game":{"uuid":"abc12345-e89b-12d3-a456-426614174000","id":"realm_of_fire"},"formatType":{"id":1,"name":"single_player"},"outcomeType":{"id":2,"name":"completion_time"},"winCondition":{"id":2,"name":"lower"}},{"uuid":"match3-uuid","id":"mystic_maze","name":"Mystic Maze","description":"Find your way through the enchanted maze.","iconUrl":"https://cdn.arcadianexus.com/icons/mystic_maze.png","game":{"uuid":"def67890-e89b-12d3-a456-426614174001","id":"forest_of_whispers"},"formatType":{"id":1,"name":"single_player"},"outcomeType":{"id":2,"name":"completion_time"},"winCondition":{"id":2,"name":"lower"}}],"totalCount":2,"lastUpdate":"2023-10-15T12:00:00Z"},"errors":[]}},"Retrieve Matches Filtered by Tags":{"summary":"Response for retrieving matches filtered by tags","value":{"status":"Success","code":200,"message":"Matches retrieved successfully.","data":{"matches":[{"uuid":"match2-uuid","id":"lava_leap","name":"Lava Leap","description":"Jump over lava pools to reach the end.","iconUrl":"https://cdn.arcadianexus.com/icons/lava_leap.png","game":{"uuid":"abc12345-e89b-12d3-a456-426614174000","id":"realm_of_fire"},"formatType":{"id":2,"name":"multi_player"},"outcomeType":{"id":1,"name":"score"},"winCondition":{"id":1,"name":"higher"},"tags":["Multiplayer","Challenging"]},{"uuid":"match4-uuid","id":"whispering_shadows","name":"Whispering Shadows","description":"Battle shadows in the mist.","iconUrl":"https://cdn.arcadianexus.com/icons/whispering_shadows.png","game":{"uuid":"def67890-e89b-12d3-a456-426614174001","id":"forest_of_whispers"},"formatType":{"id":2,"name":"multi_player"},"outcomeType":{"id":1,"name":"score"},"winCondition":{"id":1,"name":"higher"},"tags":["Multiplayer","Challenging","Combat"]}],"totalCount":2,"lastUpdate":"2023-10-15T12:00:00Z"},"errors":[]}},"Retrieve Matches for Specific Games":{"summary":"Response for retrieving matches for specific games","value":{"status":"Success","code":200,"message":"Matches retrieved successfully.","data":{"matches":[{"uuid":"match3-uuid","id":"mystic_maze","name":"Mystic Maze","description":"Find your way through the enchanted maze.","iconUrl":"https://cdn.arcadianexus.com/icons/mystic_maze.png","game":{"uuid":"def67890-e89b-12d3-a456-426614174001","id":"forest_of_whispers"},"formatType":{"id":1,"name":"single_player"},"outcomeType":{"id":2,"name":"completion_time"},"winCondition":{"id":2,"name":"lower"},"meta":{"difficulty":"Easy","recommendedLevel":5}},{"uuid":"match4-uuid","id":"whispering_shadows","name":"Whispering Shadows","description":"Battle shadows in the mist.","iconUrl":"https://cdn.arcadianexus.com/icons/whispering_shadows.png","game":{"uuid":"def67890-e89b-12d3-a456-426614174001","id":"forest_of_whispers"},"formatType":{"id":2,"name":"multi_player"},"outcomeType":{"id":1,"name":"score"},"winCondition":{"id":1,"name":"higher"},"meta":{"difficulty":"Hard","recommendedLevel":15}}],"totalCount":2,"lastUpdate":"2023-10-15T12:00:00Z"},"errors":[]}}}}}}},"security":[{"apiKey":[]}],"tags":["App"]}},"/v2/client/matches/create-session":{"post":{"operationId":"MatchSessionController_getMatchSessionV2","summary":"Create match session","description":"Create a new match session with match ID and user info","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMatchSessionDto"},"examples":{"Create Match Session":{"summary":"Create Match Session","description":"Create a new match session with match ID and user info","value":{"matchId":"mtch_sngl_00001_00001","userInfo":[{"id":"926bb747-2a43-4838-bd4a-3db612655553"}]}},"Create Match Session with Competition":{"summary":"Create Match Session with Competition","description":"Create a match session for a competition","value":{"matchId":"e695a044-4c72-43a7-98a2-ec7684ba7471","competitionId":"comp_123","userInfo":[{"id":"608bd18a-7597-4a7b-9f37-8790e604139a","entryId":"entry_001"},{"id":"90d50863-f1c1-4058-9732-a7caae2fa869","entryId":"entry_002"}]}}}}}},"responses":{"201":{"description":"Match session created successfully","content":{"application/json":{"schema":{"example":{"code":201,"data":{"matchSessionId":"117fdd91-803b-4a9d-af3c-9c346f0ba0de"},"errors":[],"message":"Successfully created match session","status":"success"}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Matches"]}},"/v2/client/matches/start-session":{"post":{"operationId":"MatchSessionController_startMatchSessionV2","summary":"Start match session","description":"Start an existing match session or create and start a new one","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartMatchSessionDto"},"examples":{"Start Match Session with Session ID":{"summary":"Start Match Session with Session ID","description":"Start an existing match session","value":{"matchId":"match_01","matchSessionId":"304e008e-31a5-4c85-ad92-eaeb424c21c0","userInfo":[{"id":"bbce0ad7-4354-4f61-9561-d4066debd2b6"}]}},"Start Match Session with Match ID":{"summary":"Start Match Session with Match ID","description":"Create and start a match session with match ID","value":{"matchId":"e695a044-4c72-43a7-98a2-ec7684ba7471","userInfo":[{"id":"608bd18a-7597-4a7b-9f37-8790e604139a"},{"id":"90d50863-f1c1-4058-9732-a7caae2fa869"}]}}}}}},"responses":{"201":{"description":"Match session started successfully","content":{"application/json":{"schema":{"example":{"code":201,"data":{"matchSessionId":"e8970b65-b095-4627-b5d6-a5a19dc66ffe"},"errors":[],"message":"Successfully started match session","status":"success"}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Matches"]}},"/v2/client/matches/update-session":{"post":{"operationId":"MatchSessionController_updateMatchSessionV2","summary":"Update match session","description":"Update meta data for an active match session","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMatchSessionDto"},"examples":{"Update Match Session Meta":{"summary":"Update Match Session Meta","description":"Update meta data for an active match session","value":{"matchSessionId":"304e008e-31a5-4c85-ad92-eaeb424c21c0","meta":{"players":[{"player_id":"p1","bat_runs":75,"sixes":4}],"innings":[{"player_id":"p1","innings":"first","bat_runs":75,"strike_rate":142.5}]}}},"Update Match Scores":{"summary":"Update Match Scores","description":"Update match scores during gameplay","value":{"matchSessionId":"304e008e-31a5-4c85-ad92-eaeb424c21c0","meta":{"first_total_score":156,"first_wicket_lost":7}}}}}}},"responses":{"200":{"description":"Match session updated successfully","content":{"application/json":{"schema":{"example":{"code":200,"data":{"matchSessionId":"e8970b65-b095-4627-b5d6-a5a19dc66ffe"},"errors":[],"message":"Successfully updated match session","status":"success"}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Matches"]}},"/v2/client/matchmaking/create-match-session":{"post":{"operationId":"MatchSessionController_createMatchSessionForMatchmakingV2","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"matchId":{"type":"string","description":"Match ID","example":"LM1"},"userInfo":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"User ID","example":"e157f98d-fd3d-4239-aaa6-85f963b79a4e"},"entryId":{"type":"string","description":"Entry ID (optional)","example":"entry_123"}}}},"competitionId":{"type":"string","description":"Competition ID (optional)","example":"comp_123"}},"required":["matchId","userInfo"]},"examples":{"Create Match Session":{"summary":"Create Match Session","description":"Create a match session for matchmaking","value":{"matchId":"LM1","userInfo":[{"id":"e157f98d-fd3d-4239-aaa6-85f963b79a4e"},{"id":"da959800-1832-47a6-8a16-337e291aa7f9"}]}}}}}},"responses":{"201":{"description":"Match session created successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":201,"errors":[],"message":"Match session successfully created","data":{"matchSessionId":"4eb2a1ba-a16f-402c-a081-0669717e619f"}}}}}}},"security":[{"apiKey":[]}],"tags":["Matchmaking"]}},"/v2/client/matchmaking/start-match-session":{"post":{"operationId":"MatchSessionController_startMatchSessionForMatchmakingV2","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"matchSessionId":{"type":"string","description":"Match Session ID (optional if matchId provided)","example":"4eb2a1ba-a16f-402c-a081-0669717e619f"},"matchId":{"type":"string","description":"Match ID (optional if matchSessionId provided)","example":"LM1"},"competitionId":{"type":"string","description":"Competition ID (optional)","example":"comp_123"},"userInfo":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"User ID","example":"e157f98d-fd3d-4239-aaa6-85f963b79a4e"},"entryId":{"type":"string","description":"Entry ID (optional)","example":"entry_123"},"specterParams":{"type":"object","description":"Specter params (optional)"},"customParams":{"type":"object","description":"Custom params (optional)"}}}},"meta":{"type":"object","description":"Additional metadata (optional)"}},"required":["userInfo"]},"examples":{"Start Match Session":{"summary":"Start Match Session","description":"Start a match session for matchmaking","value":{"matchSessionId":"4eb2a1ba-a16f-402c-a081-0669717e619f","userInfo":[{"id":"e157f98d-fd3d-4239-aaa6-85f963b79a4e"},{"id":"da959800-1832-47a6-8a16-337e291aa7f9"}]}}}}}},"responses":{"201":{"description":"Match session started successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":201,"errors":[],"message":"Successfully started match session","data":{"matchSessionId":"4eb2a1ba-a16f-402c-a081-0669717e619f"}}}}}}},"security":[{"apiKey":[]}],"tags":["Matchmaking"]}},"/v2/client/matchmaking/update-match-session":{"post":{"operationId":"MatchSessionController_updateMatchSessionForMatchmakingV2","summary":"Update match session","description":"Update meta data for an active match session","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMatchSessionDto"},"examples":{"Update Match Session Meta":{"summary":"Update Match Session Meta","description":"Update meta data for an active match session","value":{"matchSessionId":"304e008e-31a5-4c85-ad92-eaeb424c21c0","meta":{"players":[{"player_id":"p1","bat_runs":75,"sixes":4}],"innings":[{"player_id":"p1","innings":"first","bat_runs":75,"strike_rate":142.5}]}}},"Update Match Scores":{"summary":"Update Match Scores","description":"Update match scores during gameplay","value":{"matchSessionId":"304e008e-31a5-4c85-ad92-eaeb424c21c0","meta":{"first_total_score":156,"first_wicket_lost":7}}}}}}},"responses":{"200":{"description":"Match session updated successfully","content":{"application/json":{"schema":{"example":{"code":200,"data":{"matchSessionId":"e8970b65-b095-4627-b5d6-a5a19dc66ffe"},"errors":[],"message":"Successfully updated match session","status":"success"}}}}}},"security":[{"apiKey":[]}],"tags":["Matchmaking"]}},"/v2/client/matchmaking/end-match-session":{"post":{"operationId":"MatchSessionController_endMatchSessionForMatchmakingV2","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"matchSessionId":{"type":"string","description":"Match Session ID","example":"4eb2a1ba-a16f-402c-a081-0669717e619f"},"userInfo":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"User ID","example":"e157f98d-fd3d-4239-aaa6-85f963b79a4e"},"entryId":{"type":"string","description":"Entry ID (optional)","example":"entry_123"},"teamId":{"type":"string","description":"Team ID (optional)","example":"team_123"},"outcome":{"type":"number","description":"User outcome/score","example":100},"specterParams":{"type":"object","description":"Specter params (optional)"},"customParams":{"type":"object","description":"Custom params (optional)"}}}},"meta":{"type":"object","description":"Additional metadata (optional)"}},"required":["matchSessionId","userInfo"]},"examples":{"End Match Session":{"summary":"End Match Session","description":"End a match session for matchmaking with user outcomes","value":{"matchSessionId":"4eb2a1ba-a16f-402c-a081-0669717e619f","userInfo":[{"id":"e157f98d-fd3d-4239-aaa6-85f963b79a4e","outcome":100},{"id":"da959800-1832-47a6-8a16-337e291aa7f9","outcome":85}]}}}}}},"responses":{"200":{"description":"Match session ended successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"errors":[],"message":"Successfully ended match session","data":{"matchSessionId":"4eb2a1ba-a16f-402c-a081-0669717e619f"}}}}}}},"security":[{"apiKey":[]}],"tags":["Matchmaking"]}},"/v2/client/matches/end-session":{"post":{"operationId":"MatchSessionController_endMatchSessionV2","summary":"End match session","description":"End a match session with user outcomes and results","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EndMatchSessionDto"},"examples":{"End Match Session":{"summary":"End Match Session","description":"End a match session with user outcomes","value":{"matchSessionId":"e4eca4bf-25cc-4268-acb4-1dd96c29cc4f","userInfo":[{"id":"de329013-b2aa-4b23-bb33-4a1c53ad470a","outcome":545,"customParams":{"questions_answered_correctly":123,"total_questions_answered":454,"questions_answered_incorrectly":545}}]}},"End Match Session with Multiple Users":{"summary":"End Match Session with Multiple Users","description":"End a match session with multiple user outcomes","value":{"matchSessionId":"117fdd91-803b-4a9d-af3c-9c346f0ba0de","userInfo":[{"id":"c68533e0-a8a9-4b2a-bb80-ec9bfa842407","outcome":4,"customParams":{"item":"IT1","quantity":2}}]}}}}}},"responses":{"200":{"description":"Match session ended successfully","content":{"application/json":{"schema":{"example":{"code":200,"data":{"matchSessionId":"117fdd91-803b-4a9d-af3c-9c346f0ba0de"},"errors":[],"message":"Successfully ended match session","status":"success"}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Matches"]}},"/v2/client/matches/update-mmr":{"post":{"operationId":"MatchSessionController_updateMmrV2","summary":"Update MMR","description":"Update user MMR (Matchmaking Rating) after match session","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserMmrDto"},"examples":{"Update MMR":{"summary":"Update MMR","description":"Update user MMR after match session","value":{"matchId":"match_01","matchSessionId":"e4eca4bf-25cc-4268-acb4-1dd96c29cc4f","userInfo":[{"id":"de329013-b2aa-4b23-bb33-4a1c53ad470a","outcome":545}]}},"Update MMR for Multiple Users":{"summary":"Update MMR for Multiple Users","description":"Update MMR for multiple users in a match","value":{"matchId":"match_01","matchSessionId":"117fdd91-803b-4a9d-af3c-9c346f0ba0de","userInfo":[{"id":"608bd18a-7597-4a7b-9f37-8790e604139a","outcome":100},{"id":"90d50863-f1c1-4058-9732-a7caae2fa869","outcome":80}]}}}}}},"responses":{"200":{"description":"MMR updated successfully","content":{"application/json":{"schema":{"example":{"status":"success","message":"MMR updated successfully","code":200,"data":[],"errors":[]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Matches"]}},"/v2/client/matches/get-match-session-results":{"post":{"operationId":"MatchSessionController_endMatchSessionResultV2","summary":"Get match session results","description":"Get results for specific match sessions","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMatchSessionDetailsDto"},"examples":{"Get Match Session Results":{"summary":"Get Match Session Results","description":"Get results for specific match sessions","value":{"matchSessionIds":["dabe037a-c1cf-4d7a-97d5-50f3a2a3bf58"]}},"Get Match Session Results with Pagination":{"summary":"Get Match Session Results with Pagination","description":"Get match session results with pagination","value":{"matchSessionIds":[],"offset":0,"limit":11}}}}}},"responses":{"200":{"description":"Match session results retrieved successfully","content":{"application/json":{"schema":{"example":{"status":"success","message":"Match Session Results","code":200,"data":[{"matchSessionId":"dabe037a-c1cf-4d7a-97d5-50f3a2a3bf58","matchId":"match_01","state":"ended","results":[{"id":"de329013-b2aa-4b23-bb33-4a1c53ad470a","outcome":545,"rank":1}],"createdAt":"2024-12-09T06:34:28.683Z","updatedAt":"2024-12-09T06:35:28.683Z"}],"errors":[]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Matches"]}},"/v2/client/matchmaking/find-match":{"post":{"operationId":"MatchmakingController_findMatch","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FindMatchDto"},"examples":{"Find Match":{"summary":"Find Match","description":"Queue for matchmaking with match ID and region","value":{"matchId":"LM1","region":"us-west-1"}},"Find Match with Party":{"summary":"Find Match with Party","description":"Queue for matchmaking with a party","value":{"matchId":"LM1","region":"us-west-1","partyId":"bgmi1"}}}}}},"responses":{"201":{"description":"Queued to match successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":201,"errors":[],"message":"Queued to match successfully","data":{"queueId":"queue:casual:us-west-1"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"bearer":[]}],"tags":["Matchmaking"]}},"/v2/client/matchmaking/cancel-match":{"post":{"operationId":"MatchmakingController_cancelMatch","parameters":[],"responses":{"201":{"description":"Match cancelled successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":201,"errors":[],"message":"Match cancelled successfully","data":[]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"bearer":[]}],"tags":["Matchmaking"]}},"/v2/client/matchmaking/clear-all-queues":{"post":{"operationId":"MatchmakingController_clearAllQueues","parameters":[],"responses":{"200":{"description":"All queues cleared successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"errors":[],"message":"Cleared from 2 queue(s) and 5 Redis keys","data":{"clearedQueues":["queue:casual:us-west-1","queue:ranked:us-west-1"],"queueCount":2,"additionalKeysCleared":5}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"bearer":[]}],"tags":["Matchmaking"]}},"/v2/client/matchmaking/accept-match":{"post":{"operationId":"MatchmakingController_acceptMatch","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcceptMatchDto"},"examples":{"Accept Match":{"summary":"Accept Match","description":"Accept a pending match","value":{"pendingMatchId":"LM1"}}}}}},"responses":{"201":{"description":"Match accepted successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":201,"errors":[],"message":"Match accepted successfully","data":[]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"bearer":[]}],"tags":["Matchmaking"]}},"/v2/client/matchmaking/decline-match":{"post":{"operationId":"MatchmakingController_declineMatch","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcceptMatchDto"},"examples":{"Decline Match":{"summary":"Decline Match","description":"Decline a pending match","value":{"pendingMatchId":"LM1"}}}}}},"responses":{"201":{"description":"Match declined successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":201,"errors":[],"message":"Match declined successfully","data":[]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"bearer":[]}],"tags":["Matchmaking"]}},"/v2/client/matchmaking/leave-match":{"post":{"operationId":"MatchmakingController_leaveMatch","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LeaveMatchDto"},"examples":{"Leave Match":{"summary":"Leave Match","description":"Leave an ongoing match","value":{"matchSessionId":"4eb2a1ba-a16f-402c-a081-0669717e619f"}}}}}},"responses":{"201":{"description":"Match left successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":201,"errors":[],"message":"Match left successfully","data":[]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"bearer":[]}],"tags":["Matchmaking"]}},"/v2/client/matchmaking/get-queue-status":{"post":{"operationId":"MatchmakingController_getQueueStatus","parameters":[],"responses":{"200":{"description":"Queue status fetched successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"errors":[],"message":"Queue status fetched successfully","data":{"queueStatus":{"position":1,"estimatedTime":30,"playersInQueue":1}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"bearer":[]}],"tags":["Matchmaking"]}},"/v2/client/matchmaking/server-ready":{"post":{"operationId":"MatchmakingController_handleServerReady","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerReadyDto"},"examples":{"Server Ready":{"summary":"Server Ready","description":"Notify that game server is ready","value":{"matchSessionId":"4eb2a1ba-a16f-402c-a081-0669717e619f","serverInfo":{"host":"127.0.0.1","port":"3002"}}}}}}},"responses":{"200":{"description":"Server is ready","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"errors":[],"message":"Server is ready","data":[]}}}}}},"security":[{"apiKey":[]}],"tags":["Matchmaking"]}},"/v2/client/party/create":{"post":{"operationId":"PartyController_createParty","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePartyDto"},"examples":{"Create Party":{"summary":"Create Party","description":"Create a new party with type and max size","value":{"type":"cooperative","maxSize":2}}}}}},"responses":{"201":{"description":"Party created successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":201,"errors":[],"message":"Party created successfully","data":{"party":{"partyId":"party_1751016726377_n1j5tfect","leader":"e157f98d-fd3d-4239-aaa6-85f963b79a4e","members":[{"userId":"e157f98d-fd3d-4239-aaa6-85f963b79a4e","mmr":2123,"joinedAt":1751016726378}],"type":"cooperative","maxSize":2,"state":"idle","createdAt":1751016726378,"updatedAt":1751016726378,"inviteCode":"53HRMT"}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Party"]}},"/v2/client/party/invite":{"post":{"operationId":"PartyController_inviteToParty","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteToPartyDto"},"examples":{"Invite to Party":{"summary":"Invite to Party","description":"Send a party invite to another player","value":{"partyId":"party_1751278324337_w0kas7j16","inviteeId":"f4ce789d-42d0-4f18-9b0b-7d8059839dfd"}}}}}},"responses":{"201":{"description":"Party invite sent successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":201,"errors":[],"message":"Party invite sent successfully","data":[]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Party"]}},"/v2/client/party/join":{"post":{"operationId":"PartyController_joinParty","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JoinPartyDto"},"examples":{"Join Party":{"summary":"Join Party","description":"Join an existing party by party ID","value":{"partyId":"party_1751016726377_n1j5tfect"}}}}}},"responses":{"200":{"description":"Party joined successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"errors":[],"message":"Party joined successfully","data":{"party":{"partyId":"party_1751016726377_n1j5tfect","leader":"e157f98d-fd3d-4239-aaa6-85f963b79a4e","members":[{"userId":"e157f98d-fd3d-4239-aaa6-85f963b79a4e","mmr":2123,"joinedAt":1751016726378},{"userId":"da959800-1832-47a6-8a16-337e291aa7f9","mmr":2132,"joinedAt":1751017466413}],"type":"cooperative","maxSize":2,"state":"idle","createdAt":1751016726378,"updatedAt":1751017466413,"inviteCode":"53HRMT"}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Party"]}},"/v2/client/party/leave":{"post":{"operationId":"PartyController_leaveParty","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartyActionDto"},"examples":{"Leave Party":{"summary":"Leave Party","description":"Leave a party by party ID","value":{"partyId":"party_1751096468052_3zd702v09"}}}}}},"responses":{"200":{"description":"Left party successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"errors":[],"message":"Left party successfully","data":[]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Party"]}},"/v2/client/party/kick":{"post":{"operationId":"PartyController_kickFromParty","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KickFromPartyDto"},"examples":{"Kick From Party":{"summary":"Kick From Party","description":"Kick a member from the party","value":{"partyId":"party_1751278324337_w0kas7j16","userId":"b3879c09-6b84-45ad-8c8c-4fbf22270212"}}}}}},"responses":{"200":{"description":"Player kicked from party successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"errors":[],"message":"Player kicked from party successfully","data":[]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Party"]}},"/v2/client/party/update-settings":{"post":{"operationId":"PartyController_updatePartySettings","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePartySettingsDto"},"examples":{"Update Party Settings":{"summary":"Update Party Settings","description":"Update party settings like max size","value":{"partyId":"party_1751278324337_w0kas7j16","maxSize":5}}}}}},"responses":{"200":{"description":"Party settings updated successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"errors":[],"message":"Party settings updated successfully","data":[]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Party"]}},"/v2/client/party/transfer-leader":{"post":{"operationId":"PartyController_transferLeader","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferLeaderDto"},"examples":{"Transfer Party Leader":{"summary":"Transfer Party Leader","description":"Transfer party leadership to another member","value":{"partyId":"party_1751278324337_w0kas7j16","newLeaderId":"bacd0d9f-bd43-47ae-a5b7-e081541419ba"}}}}}},"responses":{"200":{"description":"Party leadership transferred successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"errors":[],"message":"Party leadership transferred successfully","data":[]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Party"]}},"/v2/client/party/get-details":{"post":{"operationId":"PartyController_getPartyDetails","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartyActionDto"},"examples":{"Get Party Details":{"summary":"Get Party Details","description":"Get details of a party by party ID","value":{"partyId":"party_1751096468052_3zd702v09"}}}}}},"responses":{"200":{"description":"Party details fetched successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"errors":[],"message":"Party details fetched successfully","data":{"party":{"partyId":"party_1751096468052_3zd702v09","leader":"db8da252-3b4b-4970-8f82-fa48829c5356","members":[{"userId":"db8da252-3b4b-4970-8f82-fa48829c5356","mmr":2123,"joinedAt":1751096468052},{"userId":"af6ec953-93ae-4b14-82b8-e615f89d6edb","mmr":2132,"joinedAt":1751098053417}],"type":"cooperative","maxSize":4,"state":"idle","createdAt":1751096468052,"updatedAt":1751098053417,"inviteCode":"6LLF5R"}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}},"404":{"description":"Party not found","content":{"application/json":{"schema":{"example":{"status":"error","code":404,"message":"Party not found","data":null,"errors":[{"errorCode":1042,"errorMessage":"The requested party does not exist"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Party"]}},"/v2/client/player/me/get-party-details":{"post":{"operationId":"PartyController_getMyPartyDetails","parameters":[],"responses":{"200":{"description":"My Party details fetched successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"errors":[],"message":"My Party details fetched successfully","data":{"party":{"partyId":"party_1751096468052_3zd702v09","leader":"db8da252-3b4b-4970-8f82-fa48829c5356","members":[{"userId":"db8da252-3b4b-4970-8f82-fa48829c5356","mmr":2123,"joinedAt":1751096468052},{"userId":"af6ec953-93ae-4b14-82b8-e615f89d6edb","mmr":2132,"joinedAt":1751098053417}],"type":"cooperative","maxSize":4,"state":"idle","createdAt":1751096468052,"updatedAt":1751098053417,"inviteCode":"6LLF5R"}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}},"404":{"description":"Party not found","content":{"application/json":{"schema":{"example":{"status":"error","code":404,"message":"Party not found","data":null,"errors":[{"errorCode":1042,"errorMessage":"The requested party does not exist"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["My Player"]}},"/v2/client/party/accept-invite":{"post":{"operationId":"PartyController_acceptInvite","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcceptInviteDto"},"examples":{"Accept Invite":{"summary":"Accept Invite","description":"Accept a party invite","value":{"inviteId":"invite_1751368793072_2tprumoxr"}}}}}},"responses":{"200":{"description":"Invite accepted successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"errors":[],"message":"Invite accepted successfully","data":[]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Party"]}},"/v2/client/party/decline-invite":{"post":{"operationId":"PartyController_declineInvite","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcceptInviteDto"},"examples":{"Decline Invite":{"summary":"Decline Invite","description":"Decline a party invite","value":{"inviteId":"invite_1751368793072_2tprumoxr"}}}}}},"responses":{"200":{"description":"Invite declined successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"errors":[],"message":"Invite declined successfully","data":[]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Party"]}},"/v2/client/app/get-tournaments":{"post":{"operationId":"CompetitionsController_getClientTournaments","summary":"Get tournaments (V2)","description":"Retrieve tournaments with optional filtering and selectable attributes. Returns base tournament information plus any requested optional fields like schedule, entry fees, prize distribution, unlock conditions, tags, and metadata.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetClientTournamentsV2Dto"},"examples":{"Minimal Request":{"summary":"Minimal request","description":"Get first 10 tournaments with base fields only","value":{}},"With Attributes":{"summary":"Request with attributes","description":"Get tournaments with schedule, entry fees, and tags","value":{"attributes":["schedule","entryFees","tags"],"limit":5}},"With Filters":{"summary":"Request with filters","description":"Get active tournaments with specific attributes and search","value":{"scheduleStatuses":["in progress"],"attributes":["schedule","prizeDistribution","entryFees"],"search":"championship","limit":20,"offset":0}},"Full Attributes":{"summary":"Request with all attributes","description":"Get tournaments with all optional fields","value":{"attributes":["schedule","prizeDistribution","entryFees","unlockConditions","tags","meta"]}}}}}},"responses":{"200":{"description":"Tournaments retrieved successfully","content":{"application/json":{"examples":{"Minimal Request":{"summary":"Response for minimal request","value":{"status":"success","code":200,"message":"Tournament list","data":{"tournaments":[{"uuid":"266ad1d8-5eb0-4a1b-86cc-bced7fd45ff2","id":"123","name":"hello","description":"333","iconUrl":null,"config":{"minPlayers":1,"maxPlayers":10,"maxEntryAllowed":10,"maxAttemptAllowed":10},"type":{"id":2,"name":"Tournament"},"sourceType":{"id":1,"name":"match"},"match":{"uuid":"ef1d055a-1520-42d1-8b8f-403ccb11d59e","id":"match1","name":"newMatch","description":"TestCaseInstant","iconUrl":null,"winCondition":{"id":1,"name":"higher"},"outcomeType":{"id":1,"name":"high_score"}}},{"uuid":"4005cf68-4e41-4bcd-bb6e-fce398a791d1","id":"newTour12","name":"Make a century","description":"Make a century","iconUrl":null,"config":{"minPlayers":2,"maxPlayers":100,"maxEntryAllowed":5,"maxAttemptAllowed":3},"type":{"id":2,"name":"Tournament"},"sourceType":{"id":3,"name":"custom"},"match":{}}],"totalCount":21,"lastUpdate":"2024-10-08T09:25:30.489Z"},"errors":[]}},"With Attributes":{"summary":"Response with schedule, entry fees, and tags","value":{"status":"success","code":200,"message":"Tournament list","data":{"tournaments":[{"uuid":"266ad1d8-5eb0-4a1b-86cc-bced7fd45ff2","id":"123","name":"hello","description":"333","iconUrl":null,"config":{"minPlayers":1,"maxPlayers":10,"maxEntryAllowed":10,"maxAttemptAllowed":10},"type":{"id":2,"name":"Tournament"},"sourceType":{"id":1,"name":"match"},"match":{"uuid":"ef1d055a-1520-42d1-8b8f-403ccb11d59e","id":"match1","name":"newMatch","description":"TestCaseInstant","iconUrl":null,"winCondition":{"id":1,"name":"higher"},"outcomeType":{"id":1,"name":"high_score"}},"schedule":{"firstInstanceStartDate":"2024-10-08 09:25:00+00:00","firstInstanceEndDate":"2024-10-08 17:50:00+00:00","intervalUnit":"minutes","intervalLength":5,"occurrences":100,"isRecurring":true},"entryFees":[{"uuid":"087ec487-9843-4d9c-85aa-77cddf994a6d","id":"087ec487-9843-4d9c-85aa-77cddf994a6d","priceType":"virtual currency","price":"10","discount":"5","bonusCashAllowance":"0","currencyDetails":{"id":125,"name":"SKAI","code":"SK","type":"virtual"}}],"tags":["featured","competitive"]}],"totalCount":21,"lastUpdate":"2024-10-08T09:25:30.489Z"},"errors":[]}},"With Filters":{"summary":"Response for active tournaments with search filter","value":{"status":"success","code":200,"message":"Tournament list","data":{"tournaments":[{"uuid":"266ad1d8-5eb0-4a1b-86cc-bced7fd45ff2","id":"123","name":"hello","description":"333","iconUrl":null,"config":{"minPlayers":1,"maxPlayers":10,"maxEntryAllowed":10,"maxAttemptAllowed":10},"type":{"id":2,"name":"Tournament"},"sourceType":{"id":1,"name":"match"},"match":{"uuid":"ef1d055a-1520-42d1-8b8f-403ccb11d59e","id":"match1","name":"newMatch","winCondition":{"id":1,"name":"higher"},"outcomeType":{"id":1,"name":"high_score"}},"schedule":{"firstInstanceStartDate":"2024-10-08 09:25:00+00:00","firstInstanceEndDate":"2024-10-08 17:50:00+00:00","intervalUnit":"minutes","intervalLength":5,"occurrences":100,"isRecurring":true},"currentInstanceSchedule":{"instanceId":"5dbc7ef9-a1d2-452f-9a83-472d0eee70cc","status":"in progress","instanceStartDate":"2024-10-08 09:30:00+00:00","instanceEndDate":"2024-10-08 09:35:00+00:00"},"prizeDistribution":{"rules":[{"startRank":1,"endRank":2,"rewardDetails":{"currencies":[{"id":125,"name":"SKAI","currencyId":"skai","code":"SK","amount":1}],"items":[],"bundles":[],"progressionMarkers":[]}}]},"entryFees":[{"uuid":"087ec487-9843-4d9c-85aa-77cddf994a6d","priceType":"virtual currency","price":"10","discount":"5","currencyDetails":{"id":125,"name":"SKAI","code":"SK","type":"virtual"}}]}],"totalCount":5,"lastUpdate":"2024-10-08T09:25:30.489Z"},"errors":[]}},"Full Attributes":{"summary":"Response with all optional fields","value":{"status":"success","code":200,"message":"Tournament list","data":{"tournaments":[{"uuid":"266ad1d8-5eb0-4a1b-86cc-bced7fd45ff2","id":"123","name":"hello","description":"333","iconUrl":null,"config":{"minPlayers":1,"maxPlayers":10,"maxEntryAllowed":10,"maxAttemptAllowed":10},"type":{"id":2,"name":"Tournament"},"sourceType":{"id":1,"name":"match"},"match":{"uuid":"ef1d055a-1520-42d1-8b8f-403ccb11d59e","id":"match1","name":"newMatch","description":"TestCaseInstant","iconUrl":null,"winCondition":{"id":1,"name":"higher"},"outcomeType":{"id":1,"name":"high_score"}},"prizeDistribution":{"rules":[{"startRank":1,"endRank":2,"rewardDetails":{"currencies":[{"id":125,"name":"SKAI","description":"SKAI Currency","currencyId":"skai","code":"SK","type":"virtual","amount":1,"rewardStatus":"add"}],"items":[{"id":"e6fa488b-0ee7-44e3-9504-8df212405aa6","itemId":"itemP1","name":"purchaseItem","amount":1,"rewardStatus":"add"}],"bundles":[{"id":"ceb09cb1-eef6-441d-a661-6cf44341e409","bundleId":"uuncs","name":"unlocked bundle","amount":1,"rewardStatus":"add"}],"progressionMarkers":[{"id":85,"progressionMarkerId":"pm1","name":"pm1","amount":1,"rewardStatus":"add"}]}}]},"schedule":{"firstInstanceStartDate":"2024-10-08 09:25:00+00:00","firstInstanceEndDate":"2024-10-08 17:50:00+00:00","intervalUnit":"minutes","intervalLength":5,"occurrences":100,"isRecurring":true},"currentInstanceSchedule":{"instanceId":"5dbc7ef9-a1d2-452f-9a83-472d0eee70cc","status":"in progress","instanceStartDate":"2024-10-08 09:30:00+00:00","instanceEndDate":"2024-10-08 09:35:00+00:00"},"entryFees":[{"uuid":"087ec487-9843-4d9c-85aa-77cddf994a6d","id":"087ec487-9843-4d9c-85aa-77cddf994a6d","priceType":"virtual currency","price":"10","discount":"5","bonusCashAllowance":"0","hostingFee":null,"hostingFeeType":null,"currencyDetails":{"id":125,"name":"SKAI","description":"SKAI Currency","iconUrl":null,"code":"SK","type":"virtual"}}],"unlockConditions":[{"lockedLevelNo":null,"unlockItem":{"uuid":"6519fab6-f334-4852-853c-d203080573e9","id":"staircase1","name":"stair case"},"unlockBundle":{},"unlockProgressionSystem":{}}],"tags":["featured","competitive","daily"],"meta":{"difficulty":"medium","region":"global"}}],"totalCount":21,"lastUpdate":"2024-10-08T09:25:30.489Z"},"errors":[]}}}}}}},"security":[{"apiKey":[]}],"tags":["App"]}},"/v2/client/app/get-instant-battles":{"post":{"operationId":"CompetitionsController_getClientInstantBattles","summary":"Get instant battles (V2)","description":"Retrieve instant battles with optional filtering and selectable attributes. Returns base instant battle information plus any requested optional fields like schedule, entry fees, prize distribution, unlock conditions, tags, and metadata.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetClientInstantBattlesV2Dto"},"examples":{"Minimal Request":{"summary":"Minimal request","description":"Get first 10 instant battles with base fields only","value":{}},"With Attributes":{"summary":"Request with attributes","description":"Get instant battles with schedule and entry fees","value":{"attributes":["schedule","entryFees","tags"],"limit":10}},"With Filters":{"summary":"Request with filters","description":"Get active instant battles for specific match","value":{"matchIds":["match-123"],"scheduleStatuses":["in progress"],"attributes":["entryFees","schedule"],"limit":5}},"Full Attributes":{"summary":"Request with all attributes","description":"Get instant battles with all optional fields","value":{"attributes":["schedule","prizeDistribution","entryFees","unlockConditions","tags","meta"]}}}}}},"responses":{"200":{"description":"Instant battles retrieved successfully","content":{"application/json":{"examples":{"Minimal Request":{"summary":"Response for minimal request","value":{"status":"success","code":200,"message":"InstantBattle list","data":{"instantbattles":[{"uuid":"422b72ea-83fe-4c13-813c-3f4b3fad029d","id":"testib","name":"test ib","description":"","iconUrl":null,"config":{"minPlayers":2,"maxPlayers":2999},"type":{"id":1,"name":"Instant Battle"},"sourceType":{"id":1,"name":"match"},"match":{"uuid":"216a14ee-5610-4f10-8b2a-99ece712cd0e","id":"instant battel match test","name":"instant battel match test","description":"instant battel match test","iconUrl":null,"winCondition":{"id":1,"name":"higher"},"formatType":{"id":2,"name":"multi_player"},"outcomeType":{"id":1,"name":"score"}}},{"uuid":"550e8400-e29b-41d4-a716-446655440001","id":"quick-match","name":"Quick Match","description":"Fast-paced instant battle","iconUrl":null,"config":{"minPlayers":2,"maxPlayers":4},"type":{"id":1,"name":"Instant Battle"},"sourceType":{"id":1,"name":"match"},"match":{}}],"totalCount":15,"lastUpdate":"2024-07-16T11:45:00.000Z"},"errors":[]}},"With Attributes":{"summary":"Response with schedule and entry fees","value":{"status":"success","code":200,"message":"InstantBattle list","data":{"instantbattles":[{"uuid":"422b72ea-83fe-4c13-813c-3f4b3fad029d","id":"testib","name":"test ib","description":"","iconUrl":null,"config":{"minPlayers":2,"maxPlayers":2999},"type":{"id":1,"name":"Instant Battle"},"sourceType":{"id":1,"name":"match"},"match":{"uuid":"216a14ee-5610-4f10-8b2a-99ece712cd0e","id":"instant battel match test","name":"instant battel match test","winCondition":{"id":1,"name":"higher"},"outcomeType":{"id":1,"name":"score"}},"schedule":{"firstInstanceStartDate":"2024-07-16 11:45:00+00:00","firstInstanceEndDate":"2024-07-16 19:40:00+00:00","intervalUnit":"minutes","intervalLength":5,"occurrences":94,"isRecurring":true},"entryFees":[{"uuid":"entry-fee-uuid","priceType":"virtual currency","price":"50","discount":"0","currencyDetails":{"id":125,"name":"SKAI","code":"SK","type":"virtual"}}],"tags":["quick","pvp"]}],"totalCount":15,"lastUpdate":"2024-07-16T11:45:00.000Z"},"errors":[]}},"With Filters":{"summary":"Response for active instant battles for specific match","value":{"status":"success","code":200,"message":"InstantBattle list","data":{"instantbattles":[{"uuid":"422b72ea-83fe-4c13-813c-3f4b3fad029d","id":"testib","name":"test ib","description":"","iconUrl":null,"config":{"minPlayers":2,"maxPlayers":2999},"type":{"id":1,"name":"Instant Battle"},"sourceType":{"id":1,"name":"match"},"match":{"uuid":"216a14ee-5610-4f10-8b2a-99ece712cd0e","id":"match-123","name":"instant battel match test","winCondition":{"id":1,"name":"higher"},"outcomeType":{"id":1,"name":"score"}},"entryFees":[{"uuid":"entry-fee-uuid","priceType":"virtual currency","price":"50","currencyDetails":{"id":125,"name":"SKAI","code":"SK","type":"virtual"}}],"schedule":{"firstInstanceStartDate":"2024-07-16 11:45:00+00:00","firstInstanceEndDate":"2024-07-16 19:40:00+00:00","intervalUnit":"minutes","intervalLength":5,"occurrences":94,"isRecurring":true,"currentInstanceSchedule":{"instanceId":"e5ac0493-52a5-44f1-8368-ec93cbb81f45","status":"in progress","instanceStartDate":"2024-07-16 11:45:00+00:00","instanceEndDate":"2024-07-16 11:50:00+00:00"}}}],"totalCount":3,"lastUpdate":"2024-07-16T11:45:00.000Z"},"errors":[]}},"Full Attributes":{"summary":"Response with all optional fields","value":{"status":"success","code":200,"message":"InstantBattle list","data":{"instantbattles":[{"uuid":"422b72ea-83fe-4c13-813c-3f4b3fad029d","id":"testib","name":"test ib","description":"","iconUrl":null,"config":{"minPlayers":2,"maxPlayers":2999,"maxEntryAllowed":5,"maxAttemptAllowed":1},"type":{"id":1,"name":"Instant Battle"},"sourceType":{"id":1,"name":"match"},"match":{"uuid":"216a14ee-5610-4f10-8b2a-99ece712cd0e","id":"instant battel match test","name":"instant battel match test","description":"instant battel match test","iconUrl":null,"minPlayers":2,"maxPlayers":4,"winCondition":{"id":1,"name":"higher"},"game":{"uuid":"6eba9b41-bd0d-4671-abc7-b6af9565b8ca","id":"competiton and lederboard test (Default game)"},"formatType":{"id":2,"name":"multi_player"},"outcomeType":{"id":1,"name":"score"}},"prizeDistribution":{"rules":[{"startRank":1,"endRank":1,"rewardDetails":{"currencies":[{"id":125,"name":"SKAI","currencyId":"skai","code":"SK","amount":100}],"items":[],"bundles":[],"progressionMarkers":[]}}]},"schedule":{"firstInstanceStartDate":"2024-07-16 11:45:00+00:00","firstInstanceEndDate":"2024-07-16 19:40:00+00:00","intervalUnit":"minutes","intervalLength":5,"occurrences":94,"isRecurring":true,"currentInstanceSchedule":{"instanceId":"e5ac0493-52a5-44f1-8368-ec93cbb81f45","status":"in progress","instanceStartDate":"2024-07-16 11:45:00+00:00","instanceEndDate":"2024-07-16 11:50:00+00:00"}},"entryFees":[{"uuid":"entry-fee-uuid","priceType":"virtual currency","price":"50","discount":"0","bonusCashAllowance":"0","currencyDetails":{"id":125,"name":"SKAI","description":"SKAI Currency","iconUrl":null,"code":"SK","type":"virtual"}}],"unlockConditions":[],"tags":["quick","pvp","casual"],"meta":{"difficulty":"easy","gameMode":"ranked"}}],"totalCount":15,"lastUpdate":"2024-07-16T11:45:00.000Z"},"errors":[]}}}}}}},"security":[{"apiKey":[]}],"tags":["App"]}},"/v2/client/competitions/enter":{"post":{"operationId":"CompetitionsController_enterIntoCompetitionV2","summary":"Enter competition (V2)","description":"Enters the authenticated user into a competition. Validates eligibility, deducts entry fees if applicable, creates a competition entry record, and triggers enter-competition task validation.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompetitionEntryDto"},"examples":{"basic":{"summary":"Basic entry","description":"Enter a tournament without custom parameters","value":{"competitionId":"tournament-123"}},"withCustomParams":{"summary":"Entry with custom params","description":"Enter with custom parameters for task validation","value":{"competitionId":"instant-battle-456","customParams":{"teamName":"Alpha Squad","preferredRegion":"US-East"}}}}}}},"responses":{"200":{"description":"Entry created successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"Entry created successfully","data":{"entryId":"550e8400-e29b-41d4-a716-446655440000","competitionInstanceId":"660e8400-e29b-41d4-a716-446655440001"},"errors":[]}}}}},"400":{"description":"Bad request - validation failed","content":{"application/json":{"schema":{"example":{"status":"error","code":400,"message":"Bad request","data":null,"errors":[{"errorCode":1000,"errorMessage":"Validation failed"}]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}},"404":{"description":"Competition not found","content":{"application/json":{"schema":{"example":{"status":"error","code":404,"message":"Competition not found","data":null,"errors":[{"errorCode":1069,"errorMessage":"Competition not found or inactive"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Competition"]}},"/v2/client/competitions/check-attempts":{"post":{"operationId":"CompetitionsController_checkAttemptsV2","summary":"Check attempts (V2)","description":"Checks the remaining attempts for a competition entry. Returns the number of attempts left for the authenticated user based on the competition's maximum attempt limit. Returns null if unlimited attempts are allowed.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckAttemptsDto"},"examples":{"basic":{"summary":"Check attempts","description":"Get remaining attempts for an entry","value":{"entryId":"entry-uuid-123"}}}}}},"responses":{"200":{"description":"Attempts fetched successfully","content":{"application/json":{"schema":{"examples":{"limited":{"summary":"Limited attempts","description":"Competition has attempt limit","value":{"status":"success","code":200,"message":"Attempts fetched successfully","data":{"numberOfAttemptsLeft":3},"errors":[]}},"unlimited":{"summary":"Unlimited attempts","description":"Competition has no attempt limit","value":{"status":"success","code":200,"message":"Attempts fetched successfully","data":{"numberOfAttemptsLeft":null},"errors":[]}},"noAttempts":{"summary":"No attempts left","description":"All attempts have been used","value":{"status":"success","code":200,"message":"Attempts fetched successfully","data":{"numberOfAttemptsLeft":0},"errors":[]}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}},"404":{"description":"Entry not found","content":{"application/json":{"schema":{"example":{"status":"error","code":404,"message":"Entry not found","data":null,"errors":[{"errorCode":1070,"errorMessage":"Competition entry not found"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Competition"]}},"/v2/client/competitions/post-score-to-tournament":{"post":{"operationId":"CompetitionsController_sendScoreToLeaderboardV2","summary":"Post score to tournament","description":"Post a score to the tournament competition leaderboard","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"competitionId":{"type":"string","description":"Competition ID","example":"instant battel"},"entryId":{"type":"string","description":"Entry ID","example":"2f57d41a-e749-4886-a5e9-94abe060b28c"},"score":{"type":"number","description":"Score to post","example":900}},"required":["competitionId","entryId","score"]},"examples":{"Post Score":{"summary":"Post score to tournament","description":"Post a score to the tournament leaderboard","value":{"competitionId":"custom_competition_22","entryId":"2f57d41a-e749-4886-a5e9-94abe060b28c","score":900}}}}}},"responses":{"200":{"description":"Score posted successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"Score post to tournament successfully","data":[],"errors":[]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Competition"]}},"/v2/client/player/me/get-tournament-history":{"post":{"operationId":"CompetitionsController_getMyTournaments","summary":"Get my tournament history","description":"Get tournament history for the authenticated user","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMyTournamentDto"},"examples":{"Get Tournament History with Attributes":{"summary":"Get Tournament History with Attributes","description":"Get tournament history with config, type, source type and match details","value":{"attributes":["config","type","sourceType","match"],"scheduleStatuses":["completed"]}}}}}},"responses":{"200":{"description":"Tournament history retrieved successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"My Tournaments list","data":[{"uuid":"4005cf68-4e41-4bcd-bb6e-fce398a791d1","id":"newTour12","name":"Make a century","description":"Make a century","iconUrl":null,"schedule":{"firstInstanceStartDate":"2024-08-20 07:55:00+00:00","firstInstanceEndDate":"2025-10-20 08:00:00+00:00","intervalUnit":"custom","intervalLength":1,"occurrences":1,"isRecurring":false,"currentInstanceSchedule":{"instanceId":"c0878f38-61ca-4f46-aabc-41637020aa53","status":"in progress","instanceStartDate":"2024-08-20 07:55:00+00:00","instanceEndDate":"2025-10-20 08:00:00+00:00"}},"entries":[{"entryId":"36df1266-c276-477a-a92d-b1c8e5d8c806","numberOfAttemptsLeft":1,"status":"played"}],"config":{},"match":{},"type":{"id":2,"name":"Tournament"},"sourceType":{"id":3,"name":"custom"}}],"errors":[]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["My Player"]}},"/v2/client/player/me/get-instant-battle-history":{"post":{"operationId":"CompetitionsController_getMyInstantBattle","summary":"Get my instant battle history","description":"Get instant battle history for the authenticated user","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMyInstantBattleDto"},"examples":{"Get Instant Battle History with Attributes":{"summary":"Get Instant Battle History with Attributes","description":"Get instant battle history with config and match details","value":{"attributes":["config","match"]}}}}}},"responses":{"200":{"description":"Instant battle history retrieved successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"My InstantBattle list","data":[{"uuid":"422b72ea-83fe-4c13-813c-3f4b3fad029d","id":"testib","name":"test ib","description":"","iconUrl":null,"schedule":{"firstInstanceStartDate":"2024-07-16 11:45:00+00:00","firstInstanceEndDate":"2024-07-16 19:40:00+00:00","intervalUnit":"minutes","intervalLength":5,"occurrences":94,"isRecurring":true,"currentInstanceSchedule":{"instanceId":"e5ac0493-52a5-44f1-8368-ec93cbb81f45","status":"in progress","instanceStartDate":"2024-07-16 11:45:00+00:00","instanceEndDate":"2024-07-16 11:50:00+00:00"}},"entries":[{"entryId":"a9f7aeea-58d2-480a-891c-5b4b23c5c79e","numberOfAttemptsLeft":0,"status":"completed"}],"config":{"minPlayers":2,"maxPlayers":2999},"match":{"uuid":"216a14ee-5610-4f10-8b2a-99ece712cd0e","id":"instant battel match test","name":"instant battel match test","description":"instant battel match test","iconUrl":null,"minPlayers":2,"maxPlayers":4,"winCondition":{"id":1,"name":"higher"},"game":{"uuid":"6eba9b41-bd0d-4671-abc7-b6af9565b8ca","id":"competiton and lederboard test (Default game)"},"formatType":{"id":2,"name":"multi_player"},"outcomeType":{"id":1,"name":"score"}}}],"errors":[]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["My Player"]}},"/v2/client/player/get-tournament-history":{"post":{"operationId":"CompetitionsController_getOthersTournaments","summary":"Get player tournament history","description":"Get tournament history for a specific player","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"userId":{"type":"string","description":"User ID to get tournament history for","example":"player-123"},"attributes":{"type":"array","items":{"type":"string"},"description":"Attributes to include","example":["config","type","sourceType","match"]},"scheduleStatuses":{"type":"array","items":{"type":"string"},"description":"Filter by schedule statuses","example":["completed"]}},"required":["userId"]},"examples":{"Get Player Tournament History":{"summary":"Get Player Tournament History","description":"Get tournament history for a specific player","value":{"userId":"player-123","attributes":["config","type","sourceType","match"],"scheduleStatuses":["completed"]}}}}}},"responses":{"200":{"description":"Player tournament history retrieved successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"Tournaments list","data":[{"uuid":"4005cf68-4e41-4bcd-bb6e-fce398a791d1","id":"newTour12","name":"Make a century","description":"Make a century","iconUrl":null,"schedule":{"firstInstanceStartDate":"2024-08-20 07:55:00+00:00","firstInstanceEndDate":"2025-10-20 08:00:00+00:00","intervalUnit":"custom","intervalLength":1,"occurrences":1,"isRecurring":false,"currentInstanceSchedule":{"instanceId":"c0878f38-61ca-4f46-aabc-41637020aa53","status":"in progress","instanceStartDate":"2024-08-20 07:55:00+00:00","instanceEndDate":"2025-10-20 08:00:00+00:00"}},"entries":[{"entryId":"36df1266-c276-477a-a92d-b1c8e5d8c806","numberOfAttemptsLeft":1,"status":"played"}]}],"errors":[]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Player Others"]}},"/v2/client/player/get-instant-battle-history":{"post":{"operationId":"CompetitionsController_getOthersInstantBattle","summary":"Get player instant battle history","description":"Get instant battle history for a specific player","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"userId":{"type":"string","description":"User ID to get instant battle history for","example":"player-123"},"attributes":{"type":"array","items":{"type":"string"},"description":"Attributes to include","example":["config","match"]}},"required":["userId"]},"examples":{"Get Player Instant Battle History":{"summary":"Get Player Instant Battle History","description":"Get instant battle history for a specific player","value":{"userId":"player-123","attributes":["config","match"]}}}}}},"responses":{"200":{"description":"Player instant battle history retrieved successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"InstantBattle list","data":[{"uuid":"422b72ea-83fe-4c13-813c-3f4b3fad029d","id":"testib","name":"test ib","description":"","iconUrl":null,"schedule":{"firstInstanceStartDate":"2024-07-16 11:45:00+00:00","firstInstanceEndDate":"2024-07-16 19:40:00+00:00","intervalUnit":"minutes","intervalLength":5,"occurrences":94,"isRecurring":true,"currentInstanceSchedule":{"instanceId":"e5ac0493-52a5-44f1-8368-ec93cbb81f45","status":"in progress","instanceStartDate":"2024-07-16 11:45:00+00:00","instanceEndDate":"2024-07-16 11:50:00+00:00"}},"entries":[{"entryId":"a9f7aeea-58d2-480a-891c-5b4b23c5c79e","numberOfAttemptsLeft":0,"status":"completed"}]}],"errors":[]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Player Others"]}},"/v2/client/competition/get-entries":{"post":{"operationId":"CompetitionsController_getCompetitionEntriesV2","summary":"Get competition entries","description":"Get entries for competitions with pagination","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"competitionIds":{"type":"array","items":{"type":"string"},"description":"Competition IDs to filter","example":["1c24b596-4e71-4700-8f9f-c476863d7aef"]},"offset":{"type":"number","description":"Offset for pagination","example":0},"limit":{"type":"number","description":"Limit for pagination","example":10}}},"examples":{"Get All Entries":{"summary":"Get all competition entries","description":"Get entries for all competitions with pagination","value":{"offset":0,"limit":10}},"Get Entries by Competition IDs":{"summary":"Get entries for specific competitions","description":"Get entries filtered by competition IDs","value":{"competitionIds":["1c24b596-4e71-4700-8f9f-c476863d7aef"],"offset":0,"limit":10}}}}}},"responses":{"200":{"description":"Competition entries retrieved successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"Tournament list","data":{"totalCompetitions":6,"competitions":[{"uuid":"1c24b596-4e71-4700-8f9f-c476863d7aef","id":"1c24b596-4e71-4700-8f9f-c476863d7aef","name":"api_check_v2","description":"","iconUrl":null,"totalEntries":20,"entries":[{"entryId":"7cc5f061-0f90-4841-b0ba-658d850f27e0","playerDetails":{"uuid":"3df7284d-dfd3-4db2-827f-fdf3b7c54576","id":"3df7284d-dfd3-4db2-827f-fdf3b7c54576","firstName":null,"username":"Erna93","lastName":null,"displayName":null,"thumbUrl":null}},{"entryId":"6e7c3b66-0992-4f97-b1d9-e00fa998e28b","playerDetails":{"uuid":"50dc0b6f-a2e3-476f-a2f3-4b4b31e79513","id":"50dc0b6f-a2e3-476f-a2f3-4b4b31e79513","firstName":null,"username":"Amir92","lastName":null,"displayName":null,"thumbUrl":null}}]}]},"errors":[]}}}}}},"security":[{"apiKey":[]}],"tags":["Competition"]}},"/v2/client/competitions/get-tournament-rankings":{"post":{"operationId":"CompetitionsController_getTournamentRankingsV2","summary":"Get tournament rankings (V2)","description":"Retrieves the current rankings/leaderboard for a tournament competition. Returns competition details, the current player's rank, and optionally all participants' rankings. Rankings are ordered by score (descending for high score, ascending for time trial).","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetTournamentRankingV2Dto"},"examples":{"basic":{"summary":"Basic rankings","description":"Get competition details and current player rank only","value":{"competitionId":"tournament-123","instanceId":"instance-uuid"}},"withRankings":{"summary":"With all rankings","description":"Get all participants rankings with total count","value":{"competitionId":"tournament-123","instanceId":"instance-uuid","attributes":["rankings","totalRanks"]}},"paginated":{"summary":"Paginated rankings","description":"Get rankings with pagination","value":{"competitionId":"tournament-123","instanceId":"instance-uuid","attributes":["rankings"],"offset":10,"limit":20}}}}}},"responses":{"200":{"description":"Instant battle results retrieved successfully","content":{"application/json":{"schema":{"examples":{"basic":{"summary":"Basic response","description":"Without rankings attribute","value":{"status":"success","code":200,"message":"Instant battle result list","data":{"uuid":"550e8400-e29b-41d4-a716-446655440000","id":"instant-battle-123","name":"Quick Battle Tournament","description":"Fast-paced instant battle","iconUrl":"https://cdn.example.com/icon.png","currentPlayerRanks":[{"playerDetails":{"uuid":"user-uuid-123","id":"user-123","firstName":"John","username":"john_doe","lastName":"Doe","displayName":"JohnDoe","thumbUrl":"https://cdn.example.com/avatar.jpg"},"score":1000,"rank":1}]},"errors":[]}},"withRankings":{"summary":"With rankings","description":"With rankings and totalRanks attributes","value":{"status":"success","code":200,"message":"Instant battle result list","data":{"uuid":"550e8400-e29b-41d4-a716-446655440000","id":"instant-battle-123","name":"Quick Battle Tournament","description":"Fast-paced instant battle","iconUrl":"https://cdn.example.com/icon.png","currentPlayerRanks":[{"playerDetails":{"uuid":"user-uuid-123","id":"user-123","firstName":"John","username":"john_doe","lastName":"Doe","displayName":"JohnDoe","thumbUrl":"https://cdn.example.com/avatar.jpg"},"score":1000,"rank":1}],"rankings":[{"playerDetails":{"uuid":"user-uuid-123","id":"user-123","firstName":"John","username":"john_doe","lastName":"Doe","displayName":"JohnDoe","thumbUrl":"https://cdn.example.com/avatar.jpg"},"score":1000,"rank":1},{"playerDetails":{"uuid":"user-uuid-456","id":"user-456","firstName":"Jane","username":"jane_doe","lastName":"Doe","displayName":"JaneDoe","thumbUrl":"https://cdn.example.com/avatar2.jpg"},"score":950,"rank":2}],"totalRanks":2},"errors":[]}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}},"404":{"description":"Competition not found or not a tournament","content":{"application/json":{"schema":{"example":{"status":"error","code":404,"message":"Competition not found","data":null,"errors":[{"errorCode":1069,"errorMessage":"Competition not found"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Competition"]}},"/v2/client/competitions/get-tournament-results":{"post":{"operationId":"CompetitionsController_getTournamentResultsV2","summary":"Get tournament results (V2)","description":"Retrieves the final results of a completed tournament competition. Unlike rankings (which show current standings), results show final standings with reward details for each participant. Use this endpoint after a tournament has ended to see final rankings and rewards won.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetTournamentResultV2Dto"},"examples":{"basic":{"summary":"Basic results","description":"Get competition details and current player result only","value":{"competitionId":"tournament-123","instanceId":"instance-uuid"}},"withResults":{"summary":"With all results","description":"Get all participants results with rewards","value":{"competitionId":"tournament-123","instanceId":"instance-uuid","attributes":["rankings","totalRanks"]}},"paginated":{"summary":"Paginated results","description":"Get results with pagination","value":{"competitionId":"tournament-123","instanceId":"instance-uuid","attributes":["rankings"],"offset":0,"limit":10}}}}}},"responses":{"200":{"description":"Instant battle results retrieved successfully","content":{"application/json":{"schema":{"examples":{"basic":{"summary":"Basic response","description":"Without rankings attribute","value":{"status":"success","code":200,"message":"Instant battle result list","data":{"uuid":"550e8400-e29b-41d4-a716-446655440000","id":"instant-battle-123","name":"Quick Battle Tournament","description":"Fast-paced instant battle","iconUrl":"https://cdn.example.com/icon.png","currentPlayerRanks":[{"playerDetails":{"uuid":"user-uuid-123","id":"user-123","firstName":"John","username":"john_doe","lastName":"Doe","displayName":"JohnDoe","thumbUrl":"https://cdn.example.com/avatar.jpg"},"score":1000,"rank":1}]},"errors":[]}},"withRankings":{"summary":"With rankings","description":"With rankings and totalRanks attributes","value":{"status":"success","code":200,"message":"Instant battle result list","data":{"uuid":"550e8400-e29b-41d4-a716-446655440000","id":"instant-battle-123","name":"Quick Battle Tournament","description":"Fast-paced instant battle","iconUrl":"https://cdn.example.com/icon.png","currentPlayerRanks":[{"playerDetails":{"uuid":"user-uuid-123","id":"user-123","firstName":"John","username":"john_doe","lastName":"Doe","displayName":"JohnDoe","thumbUrl":"https://cdn.example.com/avatar.jpg"},"score":1000,"rank":1}],"rankings":[{"playerDetails":{"uuid":"user-uuid-123","id":"user-123","firstName":"John","username":"john_doe","lastName":"Doe","displayName":"JohnDoe","thumbUrl":"https://cdn.example.com/avatar.jpg"},"score":1000,"rank":1},{"playerDetails":{"uuid":"user-uuid-456","id":"user-456","firstName":"Jane","username":"jane_doe","lastName":"Doe","displayName":"JaneDoe","thumbUrl":"https://cdn.example.com/avatar2.jpg"},"score":950,"rank":2}],"totalRanks":2},"errors":[]}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}},"404":{"description":"Competition not found or not a tournament","content":{"application/json":{"schema":{"example":{"status":"error","code":404,"message":"Competition not found","data":null,"errors":[{"errorCode":1069,"errorMessage":"Competition not found"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Competition"]}},"/v2/client/competitions/get-instantbattle-results":{"post":{"operationId":"CompetitionsController_getIBResultsV2","summary":"Get instant battle results (V2)","description":"Retrieves the results of an instant battle competition for the authenticated user. Returns competition details, the current player's rankings, and optionally all participants' rankings.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetIBResultV2Dto"},"examples":{"basic":{"summary":"Basic results","description":"Get competition details and current player rankings only","value":{"competitionId":"instant-battle-123","entryId":"entry-uuid"}},"withRankings":{"summary":"With all rankings","description":"Get all participants rankings","value":{"competitionId":"instant-battle-123","entryId":"entry-uuid","attributes":["rankings","totalRanks"]}},"paginated":{"summary":"Paginated rankings","description":"Get rankings with pagination","value":{"competitionId":"instant-battle-123","entryId":"entry-uuid","attributes":["rankings"],"offset":0,"limit":10}}}}}},"responses":{"200":{"description":"Instant battle results retrieved successfully","content":{"application/json":{"schema":{"examples":{"basic":{"summary":"Basic response","description":"Without rankings attribute","value":{"status":"success","code":200,"message":"Instant battle result list","data":{"uuid":"550e8400-e29b-41d4-a716-446655440000","id":"instant-battle-123","name":"Quick Battle Tournament","description":"Fast-paced instant battle","iconUrl":"https://cdn.example.com/icon.png","currentPlayerRanks":[{"playerDetails":{"uuid":"user-uuid-123","id":"user-123","firstName":"John","username":"john_doe","lastName":"Doe","displayName":"JohnDoe","thumbUrl":"https://cdn.example.com/avatar.jpg"},"score":1000,"rank":1}]},"errors":[]}},"withRankings":{"summary":"With rankings","description":"With rankings and totalRanks attributes","value":{"status":"success","code":200,"message":"Instant battle result list","data":{"uuid":"550e8400-e29b-41d4-a716-446655440000","id":"instant-battle-123","name":"Quick Battle Tournament","description":"Fast-paced instant battle","iconUrl":"https://cdn.example.com/icon.png","currentPlayerRanks":[{"playerDetails":{"uuid":"user-uuid-123","id":"user-123","firstName":"John","username":"john_doe","lastName":"Doe","displayName":"JohnDoe","thumbUrl":"https://cdn.example.com/avatar.jpg"},"score":1000,"rank":1}],"rankings":[{"playerDetails":{"uuid":"user-uuid-123","id":"user-123","firstName":"John","username":"john_doe","lastName":"Doe","displayName":"JohnDoe","thumbUrl":"https://cdn.example.com/avatar.jpg"},"score":1000,"rank":1},{"playerDetails":{"uuid":"user-uuid-456","id":"user-456","firstName":"Jane","username":"jane_doe","lastName":"Doe","displayName":"JaneDoe","thumbUrl":"https://cdn.example.com/avatar2.jpg"},"score":950,"rank":2}],"totalRanks":2},"errors":[]}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}},"404":{"description":"Competition or entry not found","content":{"application/json":{"schema":{"example":{"status":"error","code":404,"message":"Competition not found","data":null,"errors":[{"errorCode":1069,"errorMessage":"Competition not found"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Competition"]}},"/v2/client/competitions/enter-rmg-competition":{"post":{"operationId":"CompetitionsController_enterRMGCompetitionV2","summary":"Enter RMG competition","description":"Enter a real money gaming competition","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompetitionEntryDto"},"examples":{"Enter RMG Competition":{"summary":"Enter RMG competition","description":"Enter a real money gaming competition","value":{"competitionId":"rmg-tournament-123"}},"Enter with Custom Params":{"summary":"Enter with custom parameters","description":"Enter RMG competition with custom parameters","value":{"competitionId":"rmg-tournament-123","customParams":{"paymentMethod":"wallet","region":"US"}}}}}}},"responses":{"200":{"description":"RMG competition entry created successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"Entry created successfully","data":{"entryId":"e33bb5be-b2c1-45f1-a5bb-4093bf79ebff","competitionInstanceId":"660e8400-e29b-41d4-a716-446655440001"},"errors":[]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Competition"]}},"/v2/client/competitions/get-current-prize-pool":{"post":{"operationId":"CompetitionsController_getCurrentPrizePool","summary":"Get current prize pool","description":"Get the current prize pool for a competition instance","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"competitionId":{"type":"string","description":"Competition ID","example":"ReshaEnterCompTesting"},"instanceId":{"type":"string","description":"Competition instance ID","example":"420ead9c-247f-41e9-b72d-c367b40cef60"}},"required":["competitionId","instanceId"]},"examples":{"Get Prize Pool":{"summary":"Get current prize pool","description":"Get the current prize pool for a competition instance","value":{"competitionId":"ReshaEnterCompTesting","instanceId":"420ead9c-247f-41e9-b72d-c367b40cef60"}}}}}},"responses":{"200":{"description":"Current prize pool retrieved successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"Total Prize Pool","data":{"totalPool":5000,"numberOfEntries":25},"errors":[]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Competition"]}},"/v2/client/player/get-rm-wallet-history":{"post":{"operationId":"RmgTransactionController_getOtherRmTransactionHistory","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetOtherRmTransactionHistoryDto"}}}},"responses":{"201":{"description":""}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Player Others"]}},"/v2/client/player/me/get-rm-wallet-history":{"post":{"operationId":"RmgTransactionController_getMyTransactionHistoryV2","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMyRmTransactionHistoryDto"},"examples":{"Get RM Wallet History":{"summary":"Get RM Wallet History","description":"Get real money wallet transaction history for the authenticated user","value":{"limit":10,"offset":0}}}}}},"responses":{"200":{"description":"RM wallet history retrieved successfully","content":{"application/json":{"schema":{"example":{"code":200,"status":"success","message":"Get My RM transaction history","data":{"transactions":[{"id":"1fc8265d-adec-477f-8da9-f0188e08b111","transactionNo":"T-1733729668683-3-1","transactionFor":"instant battle buy-in","transactionType":"debit","status":"completed","userId":"a1e7f51e-6d67-4e3f-b549-2d4b21c6c3e5","amount":"100.000","createdAt":"2024-12-09T06:34:28.683Z","updatedAt":"2024-12-09T06:34:28.683Z"},{"id":"4bfb2e38-8920-40a7-9afc-87dc5bcdd0c2","transactionNo":"T-1733729584163-3-1","transactionFor":"instant battle buy-in","transactionType":"debit","status":"completed","userId":"a1e7f51e-6d67-4e3f-b549-2d4b21c6c3e5","amount":"100.000","createdAt":"2024-12-09T06:33:04.163Z","updatedAt":"2024-12-09T06:33:04.163Z"}],"totalCount":12},"errors":[]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["My Player"]}},"/v2/client/app/get-document-content":{"post":{"operationId":"DocumentsController_getDocumentContentV2","summary":"Get document content","description":"Retrieve the HTML content of a specific document by its ID","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"documentId":{"type":"string","description":"The document ID to retrieve content for","example":"privacy-policy"}},"required":["documentId"],"example":{"documentId":"privacy-policy"}}}}},"responses":{"200":{"description":"Document content retrieved successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"Document Content retrieved successfully","data":{"documentContent":"<h1>Privacy Policy</h1><p>This privacy policy describes how we collect, use, and protect your personal information...</p>"},"errors":[]}}}}}},"security":[{"apiKey":[]}],"tags":["App"]}},"/v2/client/app/get-documents":{"post":{"operationId":"DocumentsController_getAllClientDocumentV2","summary":"Get documents","description":"Retrieve a list of all documents configured for the app with optional filtering","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"documentIds":{"type":"array","items":{"type":"string"},"description":"Optional array of document IDs to filter","example":["privacy-policy","terms-of-service"]},"limit":{"type":"number","description":"Number of records to return","example":10},"offset":{"type":"number","description":"Number of records to skip","example":0}},"example":{}}}}},"responses":{"200":{"description":"Documents list retrieved successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"Documents list","data":{"documents":[{"uuid":"doc-uuid-12345","id":"privacy-policy","name":"Privacy Policy","description":"Our privacy policy document","iconUrl":null},{"uuid":"doc-uuid-67890","id":"terms-of-service","name":"Terms of Service","description":"Terms and conditions for using the app","iconUrl":null}],"totalCount":2,"lastUpdate":"2024-01-15T10:30:00.000Z"},"errors":[]}}}}}},"security":[{"apiKey":[]}],"tags":["App"]}},"/v2/client/app/get-battlepasses":{"post":{"operationId":"BattlepassController_getMasterBattlepassesV2","summary":"Get battlepasses","description":"Retrieve battlepasses with optional filtering by IDs, schedule status, and tags. Supports pagination and attribute selection for levels, schedule, tags, meta, tiers, and levelSystem.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMasterBattlepassesV2Dto"},"examples":{"Get All Battlepasses":{"summary":"Get All Battlepasses","description":"Retrieve all battlepasses with default pagination","value":{"limit":10,"offset":0}},"Get Battlepasses with Schedule":{"summary":"Get Battlepasses with Schedule","description":"Retrieve battlepasses with schedule status filter","value":{"scheduleStatuses":["in progress"]}}}}}},"responses":{"200":{"description":"Battlepasses fetched successfully","content":{"application/json":{"examples":{"Get All Battlepasses":{"summary":"Response for all battlepasses","value":{"status":"success","code":200,"errors":[],"message":"Battlepasses fetched successfully","data":{"battlepasses":[{"uuid":"168a2460-0769-4c50-8b74-eb4e8a6b21ca","id":"pass_2","name":"pass100","description":"","iconUrl":null,"thumbnailUrls":[],"coverImageUrls":[],"bannerUrls":[],"tiers":[{"id":"2034ca37-bf11-4f55-b36b-f841e52457d7","uuid":"2034ca37-bf11-4f55-b36b-f841e52457d7","name":"Tier 1","noOfLevels":10},{"id":"cbd06d26-fc00-4a51-8d6b-7d7d08169b6e","uuid":"cbd06d26-fc00-4a51-8d6b-7d7d08169b6e","name":"Tier 2","noOfLevels":10}],"tiersCount":2,"meta":{},"tags":[]},{"uuid":"268b2460-0769-4c50-8b74-eb4e8a6b21cb","id":"pass_3","name":"Winter Pass","description":"Winter season exclusive","iconUrl":null,"thumbnailUrls":[],"coverImageUrls":[],"bannerUrls":[],"tiers":[{"id":"3034ca37-bf11-4f55-b36b-f841e52457d8","uuid":"3034ca37-bf11-4f55-b36b-f841e52457d8","name":"Tier 1","noOfLevels":5}],"tiersCount":1,"meta":{},"tags":[]}],"totalCount":28,"lastUpdate":"2024-08-23T11:36:17.438Z"}}},"Get Battlepasses with Schedule":{"summary":"Response for active battlepasses with schedule","value":{"status":"success","code":200,"errors":[],"message":"Battlepasses fetched successfully","data":{"battlepasses":[{"uuid":"168a2460-0769-4c50-8b74-eb4e8a6b21ca","id":"pass_2","name":"pass100","description":"","iconUrl":null,"thumbnailUrls":[],"coverImageUrls":[],"bannerUrls":[],"tiers":[{"id":"2034ca37-bf11-4f55-b36b-f841e52457d7","uuid":"2034ca37-bf11-4f55-b36b-f841e52457d7","name":"Tier 1","noOfLevels":10},{"id":"cbd06d26-fc00-4a51-8d6b-7d7d08169b6e","uuid":"cbd06d26-fc00-4a51-8d6b-7d7d08169b6e","name":"Tier 2","noOfLevels":10}],"tiersCount":2,"meta":{},"tags":[],"schedule":{"firstInstanceStartDate":"2024-08-22 12:25:00+00:00","firstInstanceEndDate":"2024-08-31 12:05:00+00:00","currentInstanceSchedule":{"status":"in progress","instanceStartDate":"2024-08-22 12:25:00+00:00","instanceEndDate":"2024-08-31 12:05:00+00:00"}},"unlockConditions":{}}],"totalCount":5,"lastUpdate":"2024-08-23T11:36:17.438Z"}}}}}}}},"security":[{"apiKey":[]}],"tags":["App"]}},"/v2/client/battlepass/get-tier-list":{"post":{"operationId":"BattlepassController_getBattlepassTierRewardsV2","summary":"Get battlepass tier list","description":"Get the tier list and rewards for a specific battlepass","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetBattlepassTierRewardsV2Dto"}}}},"responses":{"200":{"description":"Battlepass tier levels fetched successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"Battlepass tier levels fetched successfully","data":{"battlepassTierList":[{"id":"tier-uuid","name":"Free Tier","sortingOrder":1,"levels":[{"level":1,"rewards":[{"itemId":"item-uuid","quantity":1}],"isUnlocked":true}]}]},"errors":[]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Battlepass","Battlepass"]}},"/v2/client/battlepass/unlock-battlepass-tier":{"post":{"operationId":"BattlepassController_unlockBattlepassTier","summary":"Unlock battlepass tier","description":"Unlock a specific tier for the authenticated user","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/unlockUserBattlepassTierV2Dto"}}}},"responses":{"200":{"description":"Battlepass tier unlocked successfully","content":{"application/json":{"schema":{"example":{"status":"success","code":200,"message":"Battlepass tier unlocked for user","data":[],"errors":[]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Battlepass","Battlepass"]}},"/v2/client/friends/send-request":{"post":{"operationId":"FriendsController_sendFriendRequestV2","summary":"Send friend request","description":"Send a friend request to another player","parameters":[],"requestBody":{"required":true,"description":"Send a friend request to another player","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendFriendRequesV2Dto"},"examples":{"Send Friend Request":{"summary":"Send friend request","value":{"friendId":"fffb3ef7-a04c-47ac-bef9-fee15a5c9660"}}}}}},"responses":{"201":{"description":"Friend request sent successfully","content":{"application/json":{"examples":{"Send Friend Request":{"summary":"Friend request sent","value":{"status":"success","code":201,"message":"Friend request sent successfully","errors":[],"data":[]}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Friends"]}},"/v2/client/friends/accept-request":{"post":{"operationId":"FriendsController_acceptFriendRequestV2","summary":"Accept friend request","description":"Accept a pending friend request","parameters":[],"requestBody":{"required":true,"description":"Accept a friend request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcceptFriendRequestV2Dto"},"examples":{"Accept Friend Request":{"summary":"Accept friend request","value":{"friendId":"acdafe58-7b31-47c6-afec-8a4f0d58c98b"}}}}}},"responses":{"201":{"description":"Friend request accepted successfully","content":{"application/json":{"examples":{"Accept Friend Request":{"summary":"Friend request accepted","value":{"status":"success","code":201,"message":"Friend request accepted successfully","errors":[],"data":[]}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Friends"]}},"/v2/client/friends/decline-request":{"post":{"operationId":"FriendsController_declineFriendRequestV2","summary":"Decline friend request","description":"Decline a pending friend request","parameters":[],"requestBody":{"required":true,"description":"Decline a friend request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeclineFriendRequestV2Dto"},"examples":{"Decline Friend Request":{"summary":"Decline friend request","value":{"friendId":"acdafe58-7b31-47c6-afec-8a4f0d58c98b"}}}}}},"responses":{"201":{"description":"Friend request declined successfully","content":{"application/json":{"examples":{"Decline Friend Request":{"summary":"Friend request declined","value":{"code":201,"status":"success","message":"Friend request declined successfully","errors":[],"data":[]}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Friends"]}},"/v2/client/friends/cancel-request":{"post":{"operationId":"FriendsController_cancelFriendRequestV2","summary":"Cancel friend request","description":"Cancel a sent friend request","parameters":[],"requestBody":{"required":true,"description":"Cancel a sent friend request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CancelFriendRequestV2Dto"},"examples":{"Cancel Friend Request":{"summary":"Cancel friend request","value":{"friendId":"767a36b2-3245-4bb7-b3e4-17831322afd1"}}}}}},"responses":{"201":{"description":"Friend request cancelled successfully","content":{"application/json":{"examples":{"Cancel Friend Request":{"summary":"Friend request cancelled","value":{"code":201,"status":"success","message":"Friend request cancelled successfully","errors":[],"data":[]}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Friends"]}},"/v2/client/friends/remove":{"post":{"operationId":"FriendsController_removeFriendV2","summary":"Remove friend","description":"Remove a friend from your friends list","parameters":[],"requestBody":{"required":true,"description":"Remove a friend","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoveFriendV2Dto"},"examples":{"Remove Friend":{"summary":"Remove friend","value":{"friendId":"767a36b2-3245-4bb7-b3e4-17831322afd1"}}}}}},"responses":{"201":{"description":"Friend removed successfully","content":{"application/json":{"examples":{"Remove Friend":{"summary":"Friend removed","value":{"code":201,"status":"success","message":"Friend removed successfully","errors":[],"data":[]}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Friends"]}},"/v2/client/player/me/get-friends":{"post":{"operationId":"FriendsController_getMyFriendV2","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMyFriendsV2Dto"},"examples":{"Get Friends with Online Status":{"summary":"Get Friends with Online Status","description":"Get friends list with online status and pagination","value":{"includeOnlineStatus":true,"limit":1,"offset":1}}}}}},"responses":{"200":{"description":"Friends list retrieved successfully","content":{"application/json":{"schema":{"example":{"code":200,"status":"success","message":"Friends list","data":{"friends":[{"uuid":"5ed9a349-de79-45d3-aa86-188707e1dff2","id":"5ed9a349-de79-45d3-aa86-188707e1dff2","firstName":null,"lastName":null,"username":"lesball","displayName":null,"thumbUrl":null,"isOnline":true},{"uuid":"fffb3ef7-a04c-47ac-bef9-fee15a5c9660","id":"fffb3ef7-a04c-47ac-bef9-fee15a5c9660","firstName":null,"lastName":null,"username":"whatisit","displayName":null,"thumbUrl":null,"isOnline":true},{"uuid":"767a36b2-3245-4bb7-b3e4-17831322afd1","id":"767a36b2-3245-4bb7-b3e4-17831322afd1","firstName":null,"lastName":null,"username":"testuser_03","displayName":null,"thumbUrl":null,"isOnline":false}],"totalCount":3},"errors":[]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["My Player"]}},"/v2/client/player/get-friends":{"post":{"operationId":"FriendsController_getOtherPlayerFriendV2","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"userId":{"type":"string","description":"User ID to get friends for","example":"player-123"},"includeOnlineStatus":{"type":"boolean","description":"Include online status","example":true},"limit":{"type":"number","description":"Number of friends to fetch","example":10},"offset":{"type":"number","description":"Offset for pagination","example":0}},"required":["userId"]},"examples":{"Get Player Friends":{"summary":"Get Player Friends","description":"Get friends list for a specific player","value":{"userId":"player-123","includeOnlineStatus":true,"limit":10,"offset":0}}}}}},"responses":{"200":{"description":"Player friends list retrieved successfully","content":{"application/json":{"schema":{"example":{"code":200,"status":"success","message":"Friends list","data":{"friends":[{"uuid":"5ed9a349-de79-45d3-aa86-188707e1dff2","id":"5ed9a349-de79-45d3-aa86-188707e1dff2","firstName":null,"lastName":null,"username":"friend_user","displayName":null,"thumbUrl":null,"isOnline":true}],"totalCount":5},"errors":[]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["Player Others"]}},"/v2/client/player/me/get-pending-friend-requests":{"post":{"operationId":"FriendsController_getPendingFriendRequestsV2","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPendingFriendRequestsV2Dto"},"examples":{"Get Pending Friend Requests":{"summary":"Get Pending Friend Requests","description":"Get pending friend requests with pagination","value":{"limit":10,"offset":0}}}}}},"responses":{"200":{"description":"Pending friend requests retrieved successfully","content":{"application/json":{"schema":{"example":{"code":200,"status":"success","message":"Pending friend requests fetched successfully","data":{"pendingFriendRequests":[{"uuid":"31defe54-ea0f-42bd-b911-408672bae238","id":"31defe54-ea0f-42bd-b911-408672bae238","firstName":null,"lastName":null,"username":"waterwater12","displayName":null,"thumbUrl":null,"message":null,"respondedAt":null}],"totalPendingFriendRequests":1},"errors":[]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["My Player"]}},"/v2/client/player/me/get-sent-friend-requests":{"post":{"operationId":"FriendsController_getSentFriendRequestsV2","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetSentFriendRequestsV2Dto"},"examples":{"Get Sent Friend Requests":{"summary":"Get Sent Friend Requests","description":"Get sent friend requests with pagination","value":{"limit":10,"offset":0}}}}}},"responses":{"200":{"description":"Sent friend requests retrieved successfully","content":{"application/json":{"schema":{"example":{"code":200,"status":"success","message":"Sent friend requests fetched successfully","data":{"sentFriendRequests":[{"uuid":"c7436422-41e2-47af-bed2-1d2e9a3c289d","id":"c7436422-41e2-47af-bed2-1d2e9a3c289d","firstName":null,"lastName":null,"username":"mridul_1","displayName":null,"thumbUrl":null,"message":null}],"totalSentFriendRequests":1},"errors":[]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"example":{"status":"error","code":401,"message":"Unauthorized","data":null,"errors":[{"errorCode":1001,"errorMessage":"Invalid or expired authentication token"}]}}}}}},"security":[{"apiKey":[]},{"bearer":[]}],"tags":["My Player"]}}},"info":{"title":"Specter API - Gaming Backend-as-a-Service","description":"\n<h2>What is Specter?</h2>\n<p>Specter is a <strong>Backend-as-a-Service (BaaS)</strong> platform designed specifically for game developers. It provides scalable, real-time backend solutions for games and gamification projects.</p>\n\n<h2>Key Features</h2>\n<ul>\n  <li><strong>Player Management</strong> - Unified player profiles, cross-platform authentication</li>\n  <li><strong>Economy & Inventory</strong> - Multi-currency systems, items, bundles, dynamic storefronts</li>\n  <li><strong>Achievements & Missions</strong> - Tasks, battle passes, rewards, skill divisions</li>\n  <li><strong>LiveOps</strong> - Remote content scheduling, campaigns without new game builds</li>\n  <li><strong>Competitions & Leaderboards</strong> - Tournament engine, bracket formats, prize payouts</li>\n  <li><strong>Social & Community</strong> - Referrals, friends systems, real-time announcements</li>\n</ul>\n\n<h2>Getting Started</h2>\n<ol>\n  <li>Sign up at <a href=\"https://specterapp.xyz\">https://specterapp.xyz</a></li>\n  <li>Create a project in the dashboard</li>\n  <li>Get your API key from Project Settings</li>\n  <li>Integrate using this REST API with your game engine (Unity, Unreal, etc.)</li>\n</ol>\n\n<h2>Authentication</h2>\n<p>All API calls require:</p>\n<ul>\n  <li><code>Api-Key</code> header - Your project API key</li>\n  <li><code>Bearer Token</code> - Player authentication token (for player-specific endpoints)</li>\n</ul>\n\n<h2>Platform Support</h2>\n<p>Unity, Unreal Engine, PlayStation, Xbox, Nintendo, Steam, iOS, Android</p>\n\n<h2>Resources</h2>\n<ul>\n  <li>📥 <a href=\"/api-docs/client-json\" target=\"_blank\"><b>OpenAPI JSON Spec</b></a></li>\n  <li>🌐 <a href=\"https://specterapp.xyz\" target=\"_blank\">Website</a></li>\n</ul>\n","version":"2.0.0","termsOfService":"https://www.specterapp.xyz/termsOfService","contact":{"name":"Specter Support","url":"https://specterapp.xyz","email":"hello@specterapp.xyz"},"license":{"name":"Proprietary","url":"https://www.specterapp.xyz/termsOfService"}},"tags":[],"servers":[],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"},"apiKey":{"type":"apiKey","in":"header","name":"Api-Key"}},"schemas":{"VerifyOrganisationDto":{"type":"object","properties":{"code":{"type":"number","description":"Verification code","example":123456},"email":{"type":"string","description":"Email address to verify","example":"john@example.com"}},"required":["code","email"]},"GetVerificationEmail":{"type":"object","properties":{}},"SetNewPasswordDto":{"type":"object","properties":{}},"BillingAddress":{"type":"object","properties":{"street":{"type":"string","description":"Street address","example":"123 Main St"},"city":{"type":"string","description":"City","example":"Mumbai"},"state":{"type":"string","description":"State","example":"Maharashtra"},"zip":{"type":"string","description":"ZIP/Postal code","example":"400001"},"country":{"type":"string","description":"Country","example":"India"}}},"ShippingAddress":{"type":"object","properties":{"street":{"type":"string","description":"Street address","example":"123 Main St"},"city":{"type":"string","description":"City","example":"Mumbai"},"state":{"type":"string","description":"State","example":"Maharashtra"},"zip":{"type":"string","description":"ZIP/Postal code","example":"400001"},"country":{"type":"string","description":"Country","example":"India"},"stateCode":{"type":"string","description":"State code","example":"MH"},"gstNo":{"type":"object","description":"GST number","example":"27AABCU9603R1ZM"}}},"UpdateOrganisationDto":{"type":"object","properties":{"organisationId":{"type":"string","description":"Organisation ID","example":"org-uuid-12345"},"name":{"type":"string","description":"Organisation name","example":"My Game Studio"},"location":{"type":"string","description":"Location","example":"Mumbai, India"},"defaultLogoUrl":{"type":"string","description":"Default logo URL","example":"https://example.com/logo.png"},"email":{"type":"string","description":"Email address","example":"org@example.com"},"gstNo":{"type":"string","description":"GST number","example":"27AABCU9603R1ZM"},"panNo":{"type":"string","description":"PAN number","example":"ABCDE1234F"},"billingAddress":{"description":"Billing address","allOf":[{"$ref":"#/components/schemas/BillingAddress"}]},"shippingAddress":{"description":"Shipping address","allOf":[{"$ref":"#/components/schemas/ShippingAddress"}]},"gstTreatment":{"type":"string","description":"GST treatment type","example":"business_gst"},"placeOfContact":{"type":"string","description":"Place of contact","example":"Mumbai"},"vatTreatment":{"type":"string","description":"VAT treatment type","example":"vat_registered"},"taxRegNo":{"type":"string","description":"Tax registration number","example":"TAX123456"},"tdsTaxId":{"type":"string","description":"TDS tax ID","example":"TDS123456"},"taxTreatment":{"type":"string","description":"Tax treatment type","example":"business"},"taxRegime":{"type":"string","description":"Tax regime","example":"new_regime"},"isTdsRegistered":{"type":"boolean","description":"Is TDS registered","example":true},"vatRegNo":{"type":"string","description":"VAT registration number","example":"VAT123456"}},"required":["organisationId"]},"GetOrganisationDetailsDto":{"type":"object","properties":{"organisationId":{"type":"string","description":"Organisation ID","example":"org-uuid-12345"}}},"GetOrganisationPlanDto":{"type":"object","properties":{}},"UpdateOrgBillingCardDto":{"type":"object","properties":{}},"GetSubscriptionStatusDto":{"type":"object","properties":{}},"DeleteApiKeyDto":{"type":"object","properties":{}},"VerifyCodeOfMemberDto":{"type":"object","properties":{"email":{"type":"string","description":"Email address to verify","example":"john@example.com"},"code":{"type":"number","description":"Verification code sent to email","example":123456}},"required":["email","code"]},"AccessConfig":{"type":"object","properties":{"env":{"type":"string","description":"Environment","example":"dev"},"orgFlags":{"type":"object","description":"Organisation level flags"},"projectFlags":{"type":"object","description":"Project level flags"}},"required":["env"]},"CreateMemberDto":{"type":"object","properties":{"name":{"type":"string","description":"Organisation name","example":"My Game Studio"},"teamSize":{"type":"string","description":"Team size","example":"10-50"},"location":{"type":"string","description":"Location","example":"Mumbai, India"},"goals":{"description":"Organisation goals","example":["Managing In-Game Economy","Boosting Engagement with Live Ops"],"type":"array","items":{"type":"string"}},"platforms":{"description":"Target platforms","example":["IOS","Android","Web"],"type":"array","items":{"type":"string"}},"typeId":{"type":"number","description":"Member type ID","example":1},"fullName":{"type":"object","description":"Full name of the member","example":"John Doe"},"contactNo":{"type":"string","description":"Contact number","example":"+919876543210"},"email":{"type":"object","description":"Email address","example":"john@example.com"},"password":{"type":"object","description":"Password (required if googleId not provided)","example":"securePassword123"},"websiteUrl":{"type":"object","description":"Website URL","example":"https://mygamestudio.com"},"playstoreUrl":{"type":"object","description":"Play Store URL","example":"https://play.google.com/store/apps/details?id=com.example"},"appstoreUrl":{"type":"object","description":"App Store URL","example":"https://apps.apple.com/app/id123456789"},"panNo":{"type":"object","description":"PAN number","example":"ABCDE1234F"},"gstNo":{"type":"object","description":"GST number","example":"27AABCU9603R1ZM"},"registrationNo":{"type":"object","description":"Registration number","example":"REG123456"},"googleId":{"type":"string","description":"Google ID for OAuth login","example":"1234567890"},"timezone":{"type":"string","description":"Timezone","example":"Asia/Kolkata"},"billingAddress":{"description":"Billing address","allOf":[{"$ref":"#/components/schemas/BillingAddress"}]},"shippingAddress":{"description":"Shipping address","allOf":[{"$ref":"#/components/schemas/ShippingAddress"}]},"gstTreatment":{"type":"string","description":"GST treatment type","example":"business_gst"},"placeOfContact":{"type":"string","description":"Place of contact","example":"Mumbai"},"vatTreatment":{"type":"string","description":"VAT treatment type","example":"vat_registered"},"taxRegNo":{"type":"string","description":"Tax registration number","example":"TAX123456"},"tdsTaxId":{"type":"string","description":"TDS tax ID","example":"TDS123456"},"taxTreatment":{"type":"string","description":"Tax treatment type","example":"business"},"taxRegime":{"type":"string","description":"Tax regime","example":"new_regime"},"isTdsRegistered":{"type":"boolean","description":"Is TDS registered","example":true},"vatRegNo":{"type":"string","description":"VAT registration number","example":"VAT123456"},"currencyCode":{"type":"string","description":"Currency code","enum":["INR","USD"],"example":"INR"},"accessConfig":{"description":"Access configuration","type":"array","items":{"$ref":"#/components/schemas/AccessConfig"}}},"required":["typeId","email","timezone","currencyCode"]},"GetOrganisationDto":{"type":"object","properties":{"email":{"type":"string","description":"Email address","example":"john@example.com"},"password":{"type":"string","description":"Password (required if googleId not provided)","example":"securePassword123"},"googleId":{"type":"string","description":"Google ID for OAuth login","example":"1234567890"}},"required":["email"]},"GetVerificationEmailDto":{"type":"object","properties":{"email":{"type":"string","description":"Email address to send verification code","example":"user@example.com"}},"required":["email"]},"GetResetPasswordLinkDto":{"type":"object","properties":{}},"ResetPasswordDto":{"type":"object","properties":{"token":{"type":"string","description":"Password reset token received via email","example":"reset-token-abc123"},"email":{"type":"string","description":"Email address of the member","example":"john@example.com"},"newPassword":{"type":"string","description":"New password to set","example":"NewSecurePassword123!"}},"required":["token","email","newPassword"]},"UpdatePasswordDto":{"type":"object","properties":{"email":{"type":"string","description":"Email address of the member","example":"john@example.com"},"currentPassword":{"type":"string","description":"Current password for verification","example":"CurrentPassword123!"},"newPassword":{"type":"string","description":"New password to set","example":"NewSecurePassword123!"}},"required":["email","currentPassword","newPassword"]},"ValidateAuthTokenDto":{"type":"object","properties":{"authToken":{"type":"string","description":"Authentication token to validate","example":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."}},"required":["authToken"]},"ValidateRefreshTokenDto":{"type":"object","properties":{"memberId":{"type":"string","description":"Member ID to validate refresh token for","example":"member-uuid-12345"}},"required":["memberId"]},"RefreshAuthTokenDto":{"type":"object","properties":{"memberId":{"type":"string","description":"Member ID to refresh auth token for","example":"member-uuid-12345"}},"required":["memberId"]},"Permissions":{"type":"object","properties":{"permissionId":{"type":"number","description":"Permission ID","example":1},"projectId":{"type":"string","description":"Project ID for project-specific permission","example":"proj-uuid-12345"}},"required":["permissionId"]},"InviteMemberDto":{"type":"object","properties":{"email":{"type":"object","description":"Email address of the member to invite","example":"newmember@example.com"},"organisationId":{"type":"object","description":"Organisation ID","example":"org-uuid-12345"},"permissions":{"description":"Permissions to grant to the member","type":"array","items":{"$ref":"#/components/schemas/Permissions"}},"accessConfig":{"description":"Access configuration for the member","type":"array","items":{"$ref":"#/components/schemas/AccessConfig"}}},"required":["email","organisationId"]},"AcceptInviteDto":{"type":"object","properties":{}},"SignUpMemberDto":{"type":"object","properties":{"name":{"type":"string","description":"Member name","example":"John Doe"},"fullName":{"type":"object","description":"Full name","example":"John Doe"},"contactNo":{"type":"object","description":"Contact number","example":"+919876543210"},"email":{"type":"object","description":"Email address","example":"john@example.com"},"password":{"type":"object","description":"Password","example":"securePassword123"},"isEmailVerified":{"type":"object","description":"Is email verified","example":false},"profileUrl":{"type":"object","description":"Profile image URL","example":"https://example.com/profile.jpg"},"organisationId":{"type":"object","description":"Organisation ID","example":"org-uuid-12345"},"type":{"type":"object","description":"Member type","example":"admin"},"timezone":{"type":"string","description":"Timezone","example":"Asia/Kolkata"}},"required":["email","password","organisationId","type"]},"GetMemberDto":{"type":"object","properties":{"ids":{"description":"Filter by specific member IDs","example":["member-uuid-1","member-uuid-2"],"type":"array","items":{"type":"string"}},"offset":{"type":"number","description":"Pagination offset","example":0},"limit":{"type":"number","description":"Number of records to return","example":10},"search":{"type":"string","description":"Search keyword for filtering members","example":"john"},"sortField":{"type":"string","description":"Field to sort by","example":"createdAt"},"sortOrder":{"type":"string","description":"Sort order","example":"DESC","enum":["ASC","DESC"]},"organisationId":{"type":"string","description":"Organisation ID","example":"org-uuid-12345"},"projectId":{"type":"string","description":"Filter by project ID","example":"proj-uuid-12345"},"accessConfig":{"description":"Access configuration filter","allOf":[{"$ref":"#/components/schemas/AccessConfig"}]}},"required":["organisationId"]},"AddAccessConfigDto":{"type":"object","properties":{"accessConfig":{"description":"Array of access configuration objects","type":"array","items":{"$ref":"#/components/schemas/AccessConfig"}}},"required":["accessConfig"]},"UpdateAccessConfigDto":{"type":"object","properties":{"accessConfig":{"description":"Array of access configuration objects to update","type":"array","items":{"$ref":"#/components/schemas/AccessConfig"}}},"required":["accessConfig"]},"GetAccessConfigDto":{"type":"object","properties":{"organisationId":{"type":"string","description":"Organisation ID to get access config for","example":"org-uuid-12345"},"projectIds":{"description":"Filter by specific project IDs","example":["proj-uuid-1","proj-uuid-2"],"type":"array","items":{"type":"string"}},"memberEmails":{"description":"List of member emails to get access config for","example":["john@example.com","jane@example.com"],"type":"array","items":{"type":"string"}},"env":{"description":"Environment types to get config for","example":["development","production"],"type":"array","items":{"type":"string"}}},"required":["organisationId","memberEmails","env"]},"GetInviteMemberDto":{"type":"object","properties":{"ids":{"description":"Filter by specific invite IDs","example":["invite-uuid-1","invite-uuid-2"],"type":"array","items":{"type":"string"}},"offset":{"type":"number","description":"Pagination offset","example":0},"limit":{"type":"number","description":"Number of records to return","example":10},"search":{"type":"string","description":"Search keyword for filtering invites","example":"john"},"sortField":{"type":"string","description":"Field to sort by","example":"createdAt"},"sortOrder":{"type":"string","description":"Sort order","example":"DESC","enum":["ASC","DESC"]},"organisationId":{"type":"string","description":"Organisation ID","example":"org-uuid-12345"},"projectId":{"type":"string","description":"Filter by project ID","example":"proj-uuid-12345"},"status":{"type":"string","description":"Filter by invite status","example":"pending"}},"required":["organisationId"]},"UpdateMemberAccessDto":{"type":"object","properties":{"memberId":{"type":"object","description":"Member ID to update access for","example":"member-uuid-12345"},"projectId":{"type":"object","description":"Project ID","example":"proj-uuid-12345"},"permissionId":{"type":"object","description":"Permission ID to assign","example":1},"archive":{"type":"boolean","description":"Whether to archive this access","example":false}},"required":["memberId","projectId","permissionId"]},"UpdateMembersAccessDto":{"type":"object","properties":{"updateMemberAccess":{"description":"Array of member access updates","type":"array","items":{"$ref":"#/components/schemas/UpdateMemberAccessDto"}}},"required":["updateMemberAccess"]},"DeleteMemberDto":{"type":"object","properties":{"memberId":{"type":"object","description":"Member ID to delete","example":"member-uuid-12345"},"organisationId":{"type":"object","description":"Organisation ID","example":"org-uuid-12345"},"projectId":{"type":"object","description":"Project ID (for project-specific member deletion)","example":"proj-uuid-12345"}},"required":["memberId","organisationId"]},"MemberEmailExistDto":{"type":"object","properties":{"email":{"type":"string","description":"Email address to check for existence","example":"john@example.com"}},"required":["email"]},"UpdateMemberDetailsDto":{"type":"object","properties":{"name":{"type":"object","description":"Member name","example":"John Doe"},"email":{"type":"object","description":"Email address","example":"john@example.com"},"contactNo":{"type":"string","description":"Contact number","example":"+919876543210"},"profileUrl":{"type":"object","description":"Profile image URL","example":"https://example.com/profile.jpg"},"timezone":{"type":"object","description":"Timezone","example":"Asia/Kolkata"}}},"GetAllOrganisationsDto":{"type":"object","properties":{"memberId":{"type":"string","description":"Member ID to get organisations for","example":"member-uuid-12345"}},"required":["memberId"]},"InviteMemberAccessDto":{"type":"object","properties":{"id":{"type":"string","description":"Invite ID","example":"invite-uuid-12345"},"permissions":{"description":"Array of permissions to assign","type":"array","items":{"$ref":"#/components/schemas/Permissions"}}},"required":["id"]},"GetFeatureFlagsDto":{"type":"object","properties":{"limit":{"type":"number","description":"Maximum number of feature flags to return","example":10},"offset":{"type":"number","description":"Number of feature flags to skip for pagination","example":0}}},"PlatformDetails":{"type":"object","properties":{"platformId":{"type":"number","description":"Platform ID","example":1},"assetBundleUrl":{"type":"string","description":"Asset bundle URL","example":"https://cdn.example.com/bundle.zip"},"assetName":{"type":"string","description":"Asset name","example":"main-bundle"},"assetBundleVersion":{"type":"string","description":"Asset bundle version","example":"1.0.0"},"minimumAppVersion":{"type":"string","description":"Minimum app version","example":"1.0.0"}},"required":["platformId","assetBundleUrl","assetName","assetBundleVersion","minimumAppVersion"]},"CreateProjectDto":{"type":"object","properties":{"name":{"type":"string","description":"Project name","example":"My Game App"},"iconUrl":{"type":"string","description":"URL to project icon","example":"https://cdn.example.com/icon.png"},"description":{"type":"object","description":"Project description","example":"An exciting mobile game"},"howTo":{"type":"object","description":"How to play instructions","example":"Tap to jump, swipe to move"},"screenshotUrls":{"description":"Array of screenshot URLs","example":["https://cdn.example.com/ss1.png","https://cdn.example.com/ss2.png"],"type":"array","items":{"type":"string"}},"videoUrls":{"description":"Array of video URLs","example":["https://cdn.example.com/video1.mp4"],"type":"array","items":{"type":"string"}},"platformDetails":{"description":"Platform-specific details","type":"array","items":{"$ref":"#/components/schemas/PlatformDetails"}},"meta":{"type":"object","description":"Custom metadata","example":{"version":"1.0"}},"tags":{"description":"Project tags","example":["mobile","casual"],"type":"array","items":{"type":"string"}},"countryIds":{"description":"Country IDs for geo targeting","example":[1,2,3],"type":"array","items":{"type":"number"}},"projectCategoryMasterId":{"type":"number","description":"Project category master ID","example":1},"genreIds":{"description":"Genre IDs","example":[1,2],"type":"array","items":{"type":"number"}},"organisationId":{"type":"string","description":"Organisation ID","example":"org-12345-abcde"}},"required":["name","projectCategoryMasterId","organisationId"]},"GetProjectDto":{"type":"object","properties":{"ids":{"description":"Filter by specific project IDs","example":["proj-123","proj-456"],"type":"array","items":{"type":"string"}},"limit":{"type":"object","description":"Maximum number of projects to return","example":20},"offset":{"type":"object","description":"Number of projects to skip for pagination","example":0},"organisationId":{"type":"string","description":"Organisation ID to fetch projects for","example":"org-12345-abcde"},"getAllApps":{"type":"boolean","description":"Get all apps without permission filtering","example":false},"sortField":{"type":"string","description":"Field to sort by","example":"name"},"sortOrder":{"type":"string","description":"Sort order (ASC or DESC)","example":"ASC"},"search":{"type":"string","description":"Search keyword to filter projects","example":"game"}},"required":["organisationId"]},"GetAppInfoDto":{"type":"object","properties":{}},"EditProjectDto":{"type":"object","properties":{"id":{"type":"string","description":"Project ID to update","example":"proj-12345-abcde"},"name":{"type":"string","description":"Updated project name","example":"My Updated Game"},"iconUrl":{"type":"string","description":"Updated icon URL","example":"https://cdn.example.com/new-icon.png"},"platformDetails":{"description":"Updated platform details","type":"array","items":{"$ref":"#/components/schemas/PlatformDetails"}},"meta":{"type":"object","description":"Updated metadata","example":{"version":"2.0"}},"tags":{"description":"Updated tags","example":["mobile","action"],"type":"array","items":{"type":"string"}},"countryIds":{"description":"Updated country IDs","example":[1,2,3],"type":"array","items":{"type":"number"}},"projectCategoryMasterId":{"type":"number","description":"Project category master ID","example":1},"genreIds":{"description":"Updated genre IDs","example":[1,2],"type":"array","items":{"type":"number"}}},"required":["id","projectCategoryMasterId"]},"LinkAccountsProjectDto":{"type":"object","properties":{"projectId":{"type":"string","description":"Project ID to link accounts to","example":"proj-uuid-12345"},"clientId":{"type":"string","description":"OAuth Client ID from the auth provider","example":"your-client-id.apps.googleusercontent.com"},"clientSecret":{"type":"string","description":"OAuth Client Secret from the auth provider","example":"GOCSPX-xxxxxxxxxxxxxxxx"},"redirectUri":{"type":"string","description":"OAuth redirect URI for callback","example":"https://myapp.com/auth/callback"},"userAuthAccountMasterId":{"type":"number","description":"Auth account master ID (1=Google, 2=Facebook, 3=Apple, etc.)","example":1}},"required":["projectId","clientId","redirectUri","userAuthAccountMasterId"]},"GetAppOverviewDto":{"type":"object","properties":{"projectId":{"type":"string","description":"Project ID to get overview for","example":"proj-uuid-12345"}},"required":["projectId"]},"CreateApiKeyDto":{"type":"object","properties":{"appId":{"type":"string","description":"App/Project ID to create API key for","example":"proj-uuid-12345"},"envId":{"type":"number","description":"Environment ID (1 = Development, 2 = Production)","example":1},"organisationId":{"type":"string","description":"Organisation ID the project belongs to","example":"org-uuid-12345"}},"required":["appId","envId","organisationId"]},"EditAuthConfigDto":{"type":"object","properties":{"clientId":{"type":"string","description":"OAuth Client ID from the auth provider","example":"your-client-id.apps.googleusercontent.com"},"clientSecret":{"type":"string","description":"OAuth Client Secret from the auth provider","example":"GOCSPX-xxxxxxxxxxxxxxxx"},"redirectUri":{"type":"string","description":"OAuth redirect URI for callback","example":"https://myapp.com/auth/callback"},"additionalConfig":{"type":"object","description":"Additional configuration specific to the auth provider","example":{"scopes":["email","profile"],"hostedDomain":"mycompany.com"}},"projectId":{"type":"string","description":"Project ID to configure auth for","example":"proj-uuid-12345"},"userAuthAccountMasterId":{"type":"number","description":"Auth account master ID (1=Google, 2=Facebook, 3=Apple, etc.)","example":1},"active":{"type":"boolean","description":"Whether this auth configuration is active","example":true}},"required":["clientId","userAuthAccountMasterId"]},"GetAuthConfigDto":{"type":"object","properties":{"projectId":{"type":"string","description":"Project ID to get auth configuration for","example":"proj-uuid-12345"},"userAuthAccountMasterId":{"type":"number","description":"Auth account master ID (1=Google, 2=Facebook, 3=Apple, etc.)","example":1}},"required":["userAuthAccountMasterId"]},"GameDataDto":{"type":"object","properties":{"id":{"type":"string","description":"Game ID","example":"uuid-string"},"name":{"type":"string","description":"Game name","example":"My Game"},"description":{"type":"string","description":"Game description"},"projectId":{"type":"string","description":"Project ID","example":"uuid-string"},"iconUrl":{"type":"string","description":"Game icon URL"},"active":{"type":"boolean","description":"Is active","example":true},"createdAt":{"format":"date-time","type":"string","description":"Created at timestamp"},"updatedAt":{"format":"date-time","type":"string","description":"Updated at timestamp"}},"required":["id","name","projectId","active","createdAt","updatedAt"]},"ErrorDto":{"type":"object","properties":{"code":{"type":"number","description":"Error code","example":400},"status":{"type":"string","description":"Error status","example":"BadRequestException"},"message":{"type":"string","description":"Error message","example":"Validation failed"}},"required":["code","status","message"]},"GameResponseDto":{"type":"object","properties":{"status":{"type":"string","description":"Response status","example":"success","enum":["success","error"]},"code":{"type":"number","description":"HTTP status code","example":200},"message":{"type":"string","description":"Response message","example":"Operation completed successfully"},"data":{"description":"Game data","allOf":[{"$ref":"#/components/schemas/GameDataDto"}]},"errors":{"description":"Array of errors","default":[],"type":"array","items":{"$ref":"#/components/schemas/ErrorDto"}}},"required":["status","code","message","data","errors"]},"GameListDataDto":{"type":"object","properties":{"gameDetails":{"description":"List of games","type":"array","items":{"$ref":"#/components/schemas/GameDataDto"}},"searchCount":{"type":"number","description":"Search result count","example":0},"totalCount":{"type":"number","description":"Total count of games","example":10},"archiveCount":{"type":"number","description":"Archive count","example":0},"filterCount":{"type":"number","description":"Filtered count","example":10}},"required":["gameDetails","searchCount","totalCount","archiveCount","filterCount"]},"GameListResponseDto":{"type":"object","properties":{"status":{"type":"string","description":"Response status","example":"success","enum":["success","error"]},"code":{"type":"number","description":"HTTP status code","example":200},"message":{"type":"string","description":"Response message","example":"Operation completed successfully"},"data":{"description":"Game list data","allOf":[{"$ref":"#/components/schemas/GameListDataDto"}]},"errors":{"description":"Array of errors","default":[],"type":"array","items":{"$ref":"#/components/schemas/ErrorDto"}}},"required":["status","code","message","data","errors"]},"GameGenre":{"type":"object","properties":{"gameGenerId":{"description":"Array of genre IDs","example":[1,2],"type":"array","items":{"type":"number"}}}},"GamePlatforms":{"type":"object","properties":{"name":{"type":"string","description":"Platform name","example":"Android"},"assetBundleUrl":{"type":"string","description":"URL to asset bundle","example":"https://cdn.example.com/bundles/game.bundle"},"assetName":{"type":"string","description":"Asset name identifier","example":"game_main_bundle"},"assetBundleVersion":{"type":"string","description":"Asset bundle version","example":"1.0.0"},"minimumGameVersion":{"type":"string","description":"Minimum game version required","example":"1.0.0"},"gamePlatformMasterId":{"type":"number","description":"Platform master ID (1=Android, 2=iOS, 3=WebGL)","example":1}},"required":["gamePlatformMasterId"]},"GameGeo":{"type":"object","properties":{"countryId":{"description":"Array of country IDs where game is available","example":[1,2,3],"type":"array","items":{"type":"number"}}}},"AddGameDto":{"type":"object","properties":{"gameId":{"type":"string","description":"Unique game identifier","example":"game-puzzle-001"},"name":{"type":"string","description":"Game display name","example":"Puzzle Master"},"description":{"type":"string","description":"Game description","example":"A challenging puzzle game for all ages"},"howTo":{"type":"string","description":"How to play instructions","example":"Match 3 or more tiles to score points"},"logo":{"type":"string","description":"URL to game logo","example":"https://cdn.example.com/games/puzzle-logo.png"},"downloadUrl":{"description":"Array of download URLs for different platforms","example":["https://play.google.com/store/apps/details?id=com.example"],"type":"array","items":{"type":"string"}},"screenShotUrl":{"description":"Array of screenshot URLs","example":["https://cdn.example.com/screenshots/1.png"],"type":"array","items":{"type":"string"}},"previewVideoUrl":{"description":"Array of preview video URLs","example":["https://cdn.example.com/videos/preview.mp4"],"type":"array","items":{"type":"string"}},"minimumAppVersion":{"type":"string","description":"Minimum app version required","example":"1.0.0"},"isGameScreenOrientationLandscape":{"type":"boolean","description":"Whether game is landscape oriented","example":true},"projectId":{"type":"string","description":"Project ID the game belongs to","example":"proj-12345-abcde"},"gameObjectId":{"type":"number","description":"Game object ID reference","example":1},"isDraft":{"type":"boolean","description":"Whether the game is in draft mode","example":false},"isApp":{"type":"boolean","description":"Whether this is a native app game","example":false},"isDefault":{"type":"boolean","description":"Whether this is the default game","example":false},"meta":{"type":"object","description":"Custom metadata object","example":{"difficulty":"medium"}},"tags":{"description":"Array of tag names","example":["puzzle","casual"],"type":"array","items":{"type":"string"}},"gameGenre":{"description":"Game genre configuration","allOf":[{"$ref":"#/components/schemas/GameGenre"}]},"gamePlatforms":{"description":"Platform configurations","type":"array","items":{"$ref":"#/components/schemas/GamePlatforms"}},"gameGeo":{"description":"Geographic availability configuration","allOf":[{"$ref":"#/components/schemas/GameGeo"}]}},"required":["gameId","name","projectId"]},"UpdateGameGenre":{"type":"object","properties":{"gameGenerId":{"description":"Array of genre IDs","example":[1,2],"type":"array","items":{"type":"number"}}}},"UpdateGamePlatforms":{"type":"object","properties":{"id":{"type":"number","description":"Platform configuration ID","example":1},"name":{"type":"string","description":"Platform name","example":"Android"},"assetBundleUrl":{"type":"string","description":"URL to asset bundle","example":"https://cdn.example.com/bundles/game.bundle"},"assetName":{"type":"string","description":"Asset name identifier","example":"game_main_bundle"},"assetBundleVersion":{"type":"string","description":"Asset bundle version","example":"1.0.0"},"minimumGameVersion":{"type":"string","description":"Minimum game version required","example":"1.0.0"},"gamePlatformMasterId":{"type":"number","description":"Platform master ID (1=Android, 2=iOS, 3=WebGL)","example":1}}},"UpdateGameGeo":{"type":"object","properties":{"countryId":{"description":"Array of country IDs where game is available","example":[1,2,3],"type":"array","items":{"type":"number"}}}},"UpdateGameDto":{"type":"object","properties":{"id":{"type":"string","description":"Game UUID to update","example":"game-uuid-12345"},"gameId":{"type":"string","description":"Unique game identifier","example":"game-puzzle-001"},"name":{"type":"string","description":"Game display name","example":"Puzzle Master"},"description":{"type":"string","description":"Game description","example":"A challenging puzzle game for all ages"},"howTo":{"type":"string","description":"How to play instructions","example":"Match 3 or more tiles to score points"},"logo":{"type":"string","description":"URL to game logo","example":"https://cdn.example.com/games/puzzle-logo.png"},"downloadUrl":{"description":"Array of download URLs","example":["https://play.google.com/store/apps/details?id=com.example"],"type":"array","items":{"type":"string"}},"screenShotUrl":{"description":"Array of screenshot URLs","example":["https://cdn.example.com/screenshots/1.png"],"type":"array","items":{"type":"string"}},"previewVideoUrl":{"description":"Array of preview video URLs","example":["https://cdn.example.com/videos/preview.mp4"],"type":"array","items":{"type":"string"}},"minimumAppVersion":{"type":"string","description":"Minimum app version required","example":"1.0.0"},"isGameScreenOrientationLandscape":{"type":"boolean","description":"Whether game is landscape oriented","example":true},"projectId":{"type":"string","description":"Project ID the game belongs to","example":"proj-12345-abcde"},"gameObjectId":{"type":"number","description":"Game object ID reference","example":1},"isDraft":{"type":"boolean","description":"Whether the game is in draft mode","example":false},"tags":{"description":"Array of tag names","example":["puzzle","casual"],"type":"array","items":{"type":"string"}},"isApp":{"type":"boolean","description":"Whether this is a native app game","example":false},"archive":{"type":"boolean","description":"Whether the game is archived","example":false},"gameGenre":{"description":"Game genre configuration","allOf":[{"$ref":"#/components/schemas/UpdateGameGenre"}]},"gamePlatforms":{"description":"Platform configurations","type":"array","items":{"$ref":"#/components/schemas/UpdateGamePlatforms"}},"gameGeo":{"description":"Geographic availability configuration","allOf":[{"$ref":"#/components/schemas/UpdateGameGeo"}]}},"required":["id"]},"GetGameDto":{"type":"object","properties":{"ids":{"description":"Filter by specific game IDs","example":["game-uuid-1","game-uuid-2"],"type":"array","items":{"type":"string"}},"isGameScreenOrientationLandscape":{"type":"boolean","description":"Filter by screen orientation","example":true},"isDefault":{"type":"boolean","description":"Filter by default games","example":false},"genres":{"description":"Filter by genre names","example":["puzzle","action"],"type":"array","items":{"type":"string"}},"platforms":{"description":"Filter by platform names","example":["Android","iOS"],"type":"array","items":{"type":"string"}},"locations":{"description":"Filter by location codes","example":["US","IN"],"type":"array","items":{"type":"string"}},"offset":{"type":"number","description":"Pagination offset","example":0},"limit":{"type":"number","description":"Pagination limit","example":10},"search":{"type":"string","description":"Search keyword","example":"puzzle"},"sortField":{"type":"string","description":"Field to sort by","example":"createdAt"},"sortOrder":{"type":"string","description":"Sort order","enum":["ASC","DESC"],"example":"DESC"},"projectId":{"type":"string","description":"Project ID to filter games","example":"proj-12345-abcde"},"showArchived":{"type":"boolean","description":"Include archived games","example":false}},"required":["projectId"]},"GetClientGamesDto":{"type":"object","properties":{}},"GetClientGamesV2Dto":{"type":"object","properties":{"gameIds":{"description":"Filter games by specific game IDs","example":["game-123","game-456"],"type":"array","items":{"type":"string"}},"attributes":{"description":"Select which optional attributes to include in response. Available: screenshotUrls, videoUrls, isScreenOrientationLandscape, howTo, meta, tags, platforms, locations, genre, matches","example":["tags","platforms","matches"],"type":"array","items":{"type":"string"}},"isGameScreenOrientationLandscape":{"type":"boolean","description":"Filter by screen orientation (true = landscape, false = portrait)","example":true},"isDefault":{"type":"boolean","description":"Filter by default game flag","example":false},"offset":{"type":"number","description":"Pagination offset (default: 0)","example":0},"limit":{"type":"number","description":"Pagination limit (default: 10)","example":10},"search":{"type":"string","description":"Search games by name (case-insensitive partial match)","example":"racing"},"includeTags":{"description":"Filter games by tag names (matches games with any of the specified tags)","example":["multiplayer","pvp"],"type":"array","items":{"type":"string"}}}},"RewardUnlockCondition":{"type":"object","properties":{"id":{"type":"string","description":"Unlock condition ID","example":"123e4567-e89b-12d3-a456-426614174000"},"lockedLevel":{"type":"number","description":"Level at which the reward is locked","example":10},"bundleId":{"type":"string","description":"Bundle ID for unlock condition","example":"bundle_001"},"unlockBundleId":{"type":"string","description":"Bundle ID that unlocks this reward","example":"unlock_bundle_001"},"itemId":{"type":"string","description":"Item ID for unlock condition","example":"item_001"},"unlockItemId":{"type":"string","description":"Item ID that unlocks this reward","example":"unlock_item_001"},"unlockLevelSystemId":{"type":"string","description":"Level system ID for unlock","example":"level_system_001"},"storeId":{"type":"string","description":"Store ID for unlock condition","example":"store_001"},"competitionId":{"type":"string","description":"Competition ID for unlock condition","example":"competition_001"},"archive":{"type":"boolean","description":"Whether the unlock condition is archived","example":false}}},"CreateItemPriceDto":{"type":"object","properties":{"priceTypes":{"type":"string","description":"Type of price","enum":["RMG","virtual currency","IAP"],"example":"virtual currency"},"itemId":{"type":"string","description":"Item identifier","example":"item_001"},"productId":{"type":"string","description":"Product identifier","example":"prod_12345"},"gamePlatformMasterId":{"type":"number","description":"Game platform master ID","example":1},"realWorldCurrencyId":{"type":"number","description":"Real world currency ID","example":1},"currencyId":{"type":"number","description":"Virtual currency ID","example":1},"price":{"type":"object","description":"Price amount","example":99.99},"discount":{"type":"number","description":"Discount percentage","example":10},"bonusCashAllowance":{"type":"number","description":"Bonus cash allowance amount","example":50},"bundleId":{"type":"number","description":"Bundle ID","example":1}},"required":["priceTypes","price"]},"CreateItemDto":{"type":"object","properties":{"itemId":{"type":"string","description":"Unique identifier for the item","example":"sword_001"},"name":{"type":"string","description":"Name of the item","example":"Legendary Sword"},"isConsumable":{"type":"boolean","description":"Whether the item is consumable","example":true},"isEquippable":{"type":"boolean","description":"Whether the item is equippable","example":true},"isTradable":{"type":"boolean","description":"Whether the item is tradable","example":false},"isStackable":{"type":"boolean","description":"Whether the item is stackable","example":true},"isTimeStackable":{"type":"boolean","description":"Whether the item is time stackable","example":false},"stackCapacity":{"type":"number","description":"Maximum stack capacity","example":99},"isRentable":{"type":"boolean","description":"Whether the item is rentable","example":false},"quantity":{"type":"number","description":"Quantity of the item","example":1},"description":{"type":"string","description":"Description of the item","example":"A powerful sword forged by ancient warriors"},"iconUrl":{"type":"string","description":"URL for the item icon","example":"https://example.com/icons/sword.png"},"typeId":{"type":"string","description":"Type ID of the item","example":"weapon"},"projectId":{"type":"string","description":"Project ID","example":"123e4567-e89b-12d3-a456-426614174000"},"isLocked":{"type":"boolean","description":"Whether the item is locked","example":false},"isDefaultLoadout":{"type":"boolean","description":"Whether this item is part of default loadout","example":false},"consumeByUses":{"type":"number","description":"Number of uses before consumption","example":10},"consumeByTime":{"type":"number","description":"Time duration before consumption","example":3600},"consumeByTimeFormat":{"type":"string","description":"Format for consume by time","example":"seconds"},"maxCollectionInstance":{"type":"number","description":"Maximum collection instances allowed","example":5},"unlockOperator":{"type":"string","description":"Operator for unlock conditions","example":"AND"},"meta":{"type":"object","description":"Additional metadata for the item","example":{"power":100,"rarity":"legendary"}},"tags":{"description":"Tags associated with the item","example":["melee","weapon","legendary"],"type":"array","items":{"type":"string"}},"equippedByDefault":{"type":"boolean","description":"Whether the item is equipped by default","example":false},"rarityId":{"type":"number","description":"Rarity ID of the item","example":5},"rewardUnlockCondition":{"description":"Reward unlock conditions","type":"array","items":{"$ref":"#/components/schemas/RewardUnlockCondition"}},"itemPrices":{"description":"Prices for the item","type":"array","items":{"$ref":"#/components/schemas/CreateItemPriceDto"}},"active":{"type":"boolean","description":"Whether the item is active","example":true},"archive":{"type":"boolean","description":"Whether the item is archived","example":false}},"required":["name","typeId","projectId"]},"CreateItemsDto":{"type":"object","properties":{"items":{"description":"Array of items to create","type":"array","items":{"$ref":"#/components/schemas/CreateItemDto"}}},"required":["items"]},"UpdateItemPriceDto":{"type":"object","properties":{"id":{"type":"string","description":"Item price identifier","example":"123e4567-e89b-12d3-a456-426614174000"},"itemId":{"type":"string","description":"Item identifier","example":"item_001"},"priceTypes":{"type":"string","description":"Type of price","enum":["RMG","virtual currency","IAP"],"example":"virtual currency"},"productId":{"type":"string","description":"Product identifier","example":"prod_12345"},"gamePlatformMasterId":{"type":"number","description":"Game platform master ID","example":1},"realWorldCurrencyId":{"type":"number","description":"Real world currency ID","example":1},"currencyId":{"type":"number","description":"Virtual currency ID","example":1},"price":{"type":"object","description":"Price amount","example":99.99},"discount":{"type":"number","description":"Discount percentage","example":10},"bonusCashAllowance":{"type":"number","description":"Bonus cash allowance amount","example":50},"bundleId":{"type":"number","description":"Bundle ID","example":1},"archive":{"type":"boolean","description":"Whether the item price is archived","example":false}},"required":["id","itemId"]},"UpdateItemDto":{"type":"object","properties":{"id":{"type":"string","description":"Item ID","example":"123e4567-e89b-12d3-a456-426614174000"},"itemId":{"type":"string","description":"Item identifier","example":"item_001"},"name":{"type":"string","description":"Name of the item","example":"Legendary Sword"},"isConsumable":{"type":"boolean","description":"Whether the item is consumable","example":true},"isEquippable":{"type":"boolean","description":"Whether the item is equippable","example":true},"isTradable":{"type":"boolean","description":"Whether the item is tradable","example":false},"isStackable":{"type":"boolean","description":"Whether the item is stackable","example":true},"isTimeStackable":{"type":"boolean","description":"Whether the item is time stackable","example":false},"stackCapacity":{"type":"number","description":"Maximum stack capacity","example":99},"isRentable":{"type":"boolean","description":"Whether the item is rentable","example":false},"quantity":{"type":"number","description":"Quantity of the item","example":1},"description":{"type":"string","description":"Description of the item","example":"A powerful sword forged by ancient warriors"},"iconUrl":{"type":"string","description":"URL for the item icon","example":"https://example.com/icons/sword.png"},"itemImageUrl":{"type":"string","description":"URL for the item image","example":"https://example.com/images/sword.png"},"typeId":{"type":"string","description":"Type ID of the item","example":"weapon"},"isLocked":{"type":"boolean","description":"Whether the item is locked","example":false},"isDefaultLoadout":{"type":"boolean","description":"Whether this item is part of default loadout","example":false},"equippedByDefault":{"type":"boolean","description":"Whether the item is equipped by default","example":false},"consumeByUses":{"type":"number","description":"Number of uses before consumption","example":10},"consumeByTime":{"type":"number","description":"Time duration before consumption","example":3600},"consumeByTimeFormat":{"type":"string","description":"Format for consume by time","example":"seconds"},"maxCollectionInstance":{"type":"number","description":"Maximum collection instances allowed","example":5},"unlockOperator":{"type":"string","description":"Operator for unlock conditions","example":"AND"},"meta":{"type":"object","description":"Additional metadata for the item","example":{"power":100,"rarity":"legendary"}},"tags":{"description":"Tags associated with the item","example":["melee","weapon","legendary"],"type":"array","items":{"type":"string"}},"rarityId":{"type":"number","description":"Rarity ID of the item","example":5},"rewardUnlockCondition":{"description":"Reward unlock conditions","type":"array","items":{"$ref":"#/components/schemas/RewardUnlockCondition"}},"itemPrices":{"description":"Prices for the item","type":"array","items":{"$ref":"#/components/schemas/UpdateItemPriceDto"}},"active":{"type":"boolean","description":"Whether the item is active","example":true},"archive":{"type":"boolean","description":"Whether the item is archived","example":false}},"required":["id","meta"]},"UpdateItemsDto":{"type":"object","properties":{"items":{"description":"Array of items to update","type":"array","items":{"$ref":"#/components/schemas/UpdateItemDto"}}},"required":["items"]},"FilterItemsDto":{"type":"object","properties":{"typeId":{"type":"string","description":"Type identifier","example":"weapon"},"types":{"description":"Item types to filter","example":["consumable","equippable"],"type":"array","items":{"type":"string"}},"subTypes":{"description":"Item sub-types to filter","example":["sword","axe"],"type":"array","items":{"type":"string"}},"isLimited":{"type":"boolean","description":"Filter by limited status","example":false},"ids":{"description":"Item identifiers to filter","example":["item_001","item_002"],"type":"array","items":{"type":"string"}},"isLocked":{"type":"boolean","description":"Filter by locked status","example":false},"offset":{"type":"number","description":"Pagination offset","example":0},"limit":{"type":"number","description":"Pagination limit","example":10},"search":{"type":"string","description":"Search keyword","example":"sword"},"sortField":{"type":"string","description":"Field to sort by","example":"name"},"sortOrder":{"type":"string","description":"Sort order","example":"ASC"},"projectId":{"type":"string","description":"Project ID","example":"123e4567-e89b-12d3-a456-426614174000"},"showArchived":{"type":"boolean","description":"Whether to show archived items","example":false}},"required":["projectId"]},"GetClientItemsDto":{"type":"object","properties":{"itemIds":{"description":"Item identifiers to filter","example":["item_001","item_002"],"type":"array","items":{"type":"string"}},"attributes":{"description":"Attributes to include in response","example":["name","description"],"type":"array","items":{"type":"string"}},"isLocked":{"type":"boolean","description":"Filter by locked status","example":false},"isDefaultLoadout":{"type":"boolean","description":"Filter by default loadout status","example":false},"offset":{"type":"number","description":"Pagination offset","example":0},"limit":{"type":"number","description":"Pagination limit","example":10},"search":{"type":"string","description":"Search keyword","example":"sword"},"includeTags":{"description":"Tags to include in filter","example":["rare","weapon"],"type":"array","items":{"type":"string"}}}},"GetClientBundlesDto":{"type":"object","properties":{"bundleIds":{"description":"Bundle identifiers to filter","example":["bundle_001","bundle_002"],"type":"array","items":{"type":"string"}},"attributes":{"description":"Attributes to include in response","example":["name","description"],"type":"array","items":{"type":"string"}},"isLocked":{"type":"boolean","description":"Filter by locked status","example":false},"offset":{"type":"number","description":"Pagination offset","example":0},"limit":{"type":"number","description":"Pagination limit","example":10},"search":{"type":"string","description":"Search keyword","example":"weapon"},"includeTags":{"description":"Tags to include in filter","example":["premium","limited"],"type":"array","items":{"type":"string"}}}},"GetClientStoresDto":{"type":"object","properties":{"storeIds":{"description":"Store identifiers to filter","example":["store_001","store_002"],"type":"array","items":{"type":"string"}},"offset":{"type":"number","description":"Pagination offset","example":0},"limit":{"type":"number","description":"Pagination limit","example":10},"search":{"type":"string","description":"Search keyword","example":"premium"}}},"GetClientStoreDto":{"type":"object","properties":{"storeIds":{"description":"Store identifiers to filter","example":["store_001","store_002"],"type":"array","items":{"type":"string"}},"offset":{"type":"number","description":"Pagination offset","example":0},"limit":{"type":"number","description":"Pagination limit","example":10},"search":{"type":"string","description":"Search keyword","example":"premium"},"includeTags":{"description":"Tags to include in filter","example":["featured","seasonal"],"type":"array","items":{"type":"string"}}}},"GetStoreCategoriesDto":{"type":"object","properties":{"storeId":{"type":"string","description":"Store identifier","example":"store_001"},"categoryIds":{"description":"Category identifiers to filter","example":["category_001","category_002"],"type":"array","items":{"type":"string"}},"offset":{"type":"number","description":"Pagination offset","example":0},"limit":{"type":"number","description":"Pagination limit","example":10},"search":{"type":"string","description":"Search keyword","example":"weapons"}},"required":["storeId"]},"Entities":{"type":"object","properties":{"value":{"type":"string","description":"Entity type","enum":["items","bundles"],"example":"items"},"limit":{"type":"number","description":"Pagination limit for this entity","example":10},"offset":{"type":"number","description":"Pagination offset for this entity","example":0}},"required":["value"]},"GetStoreCategoryContentsDto":{"type":"object","properties":{"storeId":{"type":"string","description":"Store identifier","example":"store_001"},"categoryId":{"type":"string","description":"Category identifier","example":"category_001"},"entities":{"description":"Entities to retrieve","type":"array","items":{"$ref":"#/components/schemas/Entities"}},"limit":{"type":"number","description":"Pagination limit","example":10},"offset":{"type":"number","description":"Pagination offset","example":0}},"required":["storeId"]},"Item":{"type":"object","properties":{"isItemIdWithStoreIdPresent":{"type":"boolean","description":"Whether item ID with store ID is present","example":true},"id":{"type":"string","description":"Item identifier","example":"item_001"},"amount":{"type":"number","description":"Amount of the item","example":1},"currencyId":{"type":"string","description":"Virtual currency identifier","example":"currency_001"},"realWorldCurrencyId":{"type":"string","description":"Real world currency identifier","example":"USD"},"storeId":{"type":"string","description":"Store identifier","example":"store_001"},"collectionId":{"type":"string","description":"Collection identifier","example":"collection_001"},"stackId":{"type":"string","description":"Stack identifier","example":"stack_001"},"specterParams":{"type":"object","description":"Specter parameters","example":{}},"customParams":{"type":"object","description":"Custom parameters","example":{}}},"required":["isItemIdWithStoreIdPresent","id"]},"Bundle":{"type":"object","properties":{"id":{"type":"string","description":"Bundle identifier","example":"bundle_001"},"amount":{"type":"number","description":"Amount of the bundle","example":1},"currencyId":{"type":"string","description":"Virtual currency identifier","example":"currency_001"},"realWorldCurrencyId":{"type":"string","description":"Real world currency identifier","example":"USD"},"storeId":{"type":"string","description":"Store identifier","example":"store_001"},"collectionId":{"type":"string","description":"Collection identifier","example":"collection_001"},"stackId":{"type":"string","description":"Stack identifier","example":"stack_001"},"specterParams":{"type":"object","description":"Specter parameters","example":{}},"customParams":{"type":"object","description":"Custom parameters","example":{}}},"required":["id"]},"DefaultPurchaseDto":{"type":"object","properties":{"isItemOrBundlePresent":{"type":"boolean","description":"Whether item or bundle is present in purchase","example":true},"items":{"description":"Items to purchase","type":"array","items":{"$ref":"#/components/schemas/Item"}},"bundles":{"description":"Bundles to purchase","type":"array","items":{"$ref":"#/components/schemas/Bundle"}}}},"DefaultPurchaseV2Dto":{"type":"object","properties":{"isItemOrBundlePresent":{"type":"boolean","description":"Whether item or bundle is present in purchase","example":true},"items":{"description":"Items to purchase","type":"array","items":{"$ref":"#/components/schemas/Item"}},"bundles":{"description":"Bundles to purchase","type":"array","items":{"$ref":"#/components/schemas/Bundle"}}}},"CustomPurchaseDto":{"type":"object","properties":{"isItemOrBundlePresentInDefaultPurchase":{"type":"boolean","description":"Whether item or bundle is present in purchase","example":true},"items":{"description":"Items to purchase","type":"array","items":{"$ref":"#/components/schemas/Item"}},"bundles":{"description":"Bundles to purchase","type":"array","items":{"$ref":"#/components/schemas/Bundle"}}}},"CustomPurchaseV2Dto":{"type":"object","properties":{"isItemOrBundlePresentInDefaultPurchase":{"type":"boolean","description":"Whether item or bundle is present in purchase","example":true},"items":{"description":"Items to purchase","type":"array","items":{"$ref":"#/components/schemas/Item"}},"bundles":{"description":"Bundles to purchase","type":"array","items":{"$ref":"#/components/schemas/Bundle"}}}},"BundleContentsDto":{"type":"object","properties":{"id":{"type":"string","description":"Bundle content identifier","example":"123e4567-e89b-12d3-a456-426614174000"},"quantity":{"type":"number","description":"Quantity of the content","example":10},"bundleId":{"type":"string","description":"Bundle identifier","example":"bundle_001"},"contentBundleId":{"type":"string","description":"Content bundle identifier","example":"content_bundle_001"},"itemId":{"type":"string","description":"Item identifier","example":"item_001"},"currencyId":{"type":"number","description":"Currency identifier","example":1},"progressionMarkerId":{"type":"number","description":"Progression marker identifier","example":1},"archive":{"type":"boolean","description":"Whether the content is archived","example":false},"probability":{"type":"number","description":"Probability for gacha/loot box","example":0.25},"gachaMinQuantity":{"type":"number","description":"Minimum quantity for gacha","example":1},"gachaMaxQuantity":{"type":"number","description":"Maximum quantity for gacha","example":5}},"required":["quantity"]},"CreateContentPriceDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the content price","example":"123e4567-e89b-12d3-a456-426614174000"},"priceTypes":{"type":"string","description":"Type of price","enum":["RMG","virtual currency","IAP"],"example":"virtual currency"},"productId":{"type":"string","description":"Product identifier","example":"prod_12345"},"price":{"type":"number","description":"Price amount","example":100},"discount":{"type":"number","description":"Discount percentage","example":10},"bonusCashAllowance":{"type":"number","description":"Bonus cash allowance amount","example":50},"bundleId":{"type":"string","description":"Bundle identifier","example":"bundle_001"},"gamePlatformMasterId":{"type":"number","description":"Game platform master ID","example":1},"realWorldCurrencyId":{"type":"number","description":"Real world currency ID","example":1},"currencyId":{"type":"number","description":"Virtual currency ID","example":1},"archive":{"type":"boolean","description":"Whether the content price is archived","example":false}},"required":["priceTypes","price"]},"BundleRarityProbabilityDto":{"type":"object","properties":{"id":{"type":"string","description":"Rarity probability ID","example":"123e4567-e89b-12d3-a456-426614174000"},"bundleId":{"type":"string","description":"Bundle identifier","example":"bundle_001"},"rarityId":{"type":"number","description":"Rarity ID","example":5},"baseProbability":{"type":"number","description":"Base probability for this rarity","example":0.05},"active":{"type":"boolean","description":"Whether the probability is active","example":true},"archive":{"type":"boolean","description":"Whether the probability is archived","example":false}},"required":["rarityId","baseProbability"]},"CreateBundleDto":{"type":"object","properties":{"bundleId":{"type":"string","description":"Bundle identifier","example":"bundle_001","maxLength":10000},"name":{"type":"string","description":"Bundle name","example":"Legendary Chest"},"description":{"type":"string","description":"Bundle description","example":"A chest containing legendary items"},"iconUrl":{"type":"string","description":"Icon URL for the bundle","example":"https://example.com/icon.png"},"bundleImageUrl":{"type":"string","description":"Bundle image URL","example":"https://example.com/bundle.png"},"isConsumable":{"type":"boolean","description":"Whether the bundle is consumable","example":true},"isEquippable":{"type":"boolean","description":"Whether the bundle is equippable","example":false},"isTradable":{"type":"boolean","description":"Whether the bundle is tradable","example":true},"isStackable":{"type":"boolean","description":"Whether the bundle is stackable","example":true},"stackCapacity":{"type":"number","description":"Stack capacity for the bundle","example":99},"isRentable":{"type":"boolean","description":"Whether the bundle is rentable","example":false},"quantity":{"type":"number","description":"Quantity of the bundle","example":100},"typeId":{"type":"string","description":"Type ID for the bundle","example":"type_001","maxLength":10000},"projectId":{"type":"string","description":"Project ID","example":"123e4567-e89b-12d3-a456-426614174000"},"isLocked":{"type":"boolean","description":"Whether the bundle is locked","example":false},"isManual":{"type":"boolean","description":"Whether the bundle is manual","example":false},"consumeByUses":{"type":"number","description":"Number of uses before consumed","example":5},"maxCollectionInstance":{"type":"number","description":"Maximum collection instances","example":10},"consumeByTime":{"type":"number","description":"Time until consumed","example":3600},"consumeByTimeFormat":{"type":"string","description":"Format for consume by time","example":"seconds","maxLength":1000},"unlockOperator":{"type":"string","description":"Unlock operator","example":"AND"},"meta":{"type":"object","description":"Metadata object for additional bundle information","example":{"key":"value"}},"tags":{"description":"Tags for the bundle","example":["legendary","rare"],"type":"array","items":{"type":"string"}},"isGacha":{"type":"boolean","description":"Whether the bundle is a gacha","example":true},"drawsPerOpen":{"type":"number","description":"Number of draws per open","example":10},"pitySystemType":{"type":"string","description":"Pity system type","example":"counter","enum":["none","counter","rate","milestone","mixed"]},"counterThreshold":{"type":"number","description":"Counter threshold for pity system","example":90},"rateIncrement":{"type":"number","description":"Rate increment for pity system","example":0.05},"baseRateMultiplier":{"type":"number","description":"Base rate multiplier","example":1},"maxRateMultiplier":{"type":"number","description":"Maximum rate multiplier","example":2},"milestoneInterval":{"type":"number","description":"Milestone interval for pity system","example":10},"guaranteedRarity":{"type":"string","description":"Guaranteed rarity","example":"legendary"},"rarityId":{"type":"number","description":"Rarity ID","example":5},"rewardUnlockCondition":{"description":"Reward unlock conditions","type":"array","items":{"$ref":"#/components/schemas/RewardUnlockCondition"}},"bundleContent":{"description":"Bundle contents","type":"array","items":{"$ref":"#/components/schemas/BundleContentsDto"}},"bundlePrices":{"description":"Bundle prices","type":"array","items":{"$ref":"#/components/schemas/CreateContentPriceDto"}},"bundleRarityProbabilities":{"description":"Bundle rarity probabilities","type":"array","items":{"$ref":"#/components/schemas/BundleRarityProbabilityDto"}},"active":{"type":"boolean","description":"Whether the bundle is active","example":true},"archive":{"type":"boolean","description":"Whether the bundle is archived","example":false}},"required":["name","typeId","projectId"]},"CreateBundlesDto":{"type":"object","properties":{"bundles":{"description":"Array of bundles to create","type":"array","items":{"$ref":"#/components/schemas/CreateBundleDto"}}},"required":["bundles"]},"UpdateBundleDto":{"type":"object","properties":{"id":{"type":"string","description":"Bundle ID","example":"123e4567-e89b-12d3-a456-426614174000"},"name":{"type":"string","description":"Bundle name","example":"Legendary Chest"},"description":{"type":"string","description":"Bundle description","example":"A chest containing legendary items"},"iconUrl":{"type":"string","description":"Icon URL for the bundle","example":"https://example.com/icon.png"},"bundleImageUrl":{"type":"string","description":"Bundle image URL","example":"https://example.com/bundle.png"},"isConsumable":{"type":"boolean","description":"Whether the bundle is consumable","example":true},"isEquippable":{"type":"boolean","description":"Whether the bundle is equippable","example":false},"isTradable":{"type":"boolean","description":"Whether the bundle is tradable","example":true},"isStackable":{"type":"boolean","description":"Whether the bundle is stackable","example":true},"stackCapacity":{"type":"number","description":"Stack capacity for the bundle","example":99},"isRentable":{"type":"boolean","description":"Whether the bundle is rentable","example":false},"quantity":{"type":"number","description":"Quantity of the bundle","example":100},"typeId":{"type":"string","description":"Type ID for the bundle","example":"type_001","maxLength":10000},"isLocked":{"type":"boolean","description":"Whether the bundle is locked","example":false},"isManual":{"type":"boolean","description":"Whether the bundle is manual","example":false},"consumeByUses":{"type":"number","description":"Number of uses before consumed","example":5},"maxCollectionInstance":{"type":"number","description":"Maximum collection instances","example":10},"consumeByTime":{"type":"number","description":"Time until consumed","example":3600},"consumeByTimeFormat":{"type":"string","description":"Format for consume by time","example":"seconds","maxLength":1000},"unlockOperator":{"type":"string","description":"Unlock operator","example":"AND"},"meta":{"type":"object","description":"Metadata object for additional bundle information","example":{"key":"value"}},"tags":{"description":"Tags for the bundle","example":["legendary","rare"],"type":"array","items":{"type":"string"}},"isGacha":{"type":"boolean","description":"Whether the bundle is a gacha","example":true},"drawsPerOpen":{"type":"number","description":"Number of draws per open","example":10},"pitySystemType":{"type":"string","description":"Pity system type","example":"counter","enum":["none","counter","rate","milestone","mixed"]},"counterThreshold":{"type":"number","description":"Counter threshold for pity system","example":90},"rateIncrement":{"type":"number","description":"Rate increment for pity system","example":0.05},"baseRateMultiplier":{"type":"number","description":"Base rate multiplier","example":1},"maxRateMultiplier":{"type":"number","description":"Maximum rate multiplier","example":2},"milestoneInterval":{"type":"number","description":"Milestone interval for pity system","example":10},"guaranteedRarity":{"type":"string","description":"Guaranteed rarity","example":"legendary"},"rarityId":{"type":"number","description":"Rarity ID","example":5},"rewardUnlockCondition":{"description":"Reward unlock conditions","type":"array","items":{"$ref":"#/components/schemas/RewardUnlockCondition"}},"bundleContent":{"description":"Bundle contents","type":"array","items":{"$ref":"#/components/schemas/BundleContentsDto"}},"bundlePrices":{"description":"Bundle prices","type":"array","items":{"$ref":"#/components/schemas/CreateContentPriceDto"}},"bundleRarityProbabilities":{"description":"Bundle rarity probabilities","type":"array","items":{"$ref":"#/components/schemas/BundleRarityProbabilityDto"}},"active":{"type":"boolean","description":"Whether the bundle is active","example":true},"archive":{"type":"boolean","description":"Whether the bundle is archived","example":false}},"required":["id"]},"UpdateBundlesDto":{"type":"object","properties":{"bundles":{"description":"Array of bundles to update","type":"array","items":{"$ref":"#/components/schemas/UpdateBundleDto"}}},"required":["bundles"]},"GetBundlesDto":{"type":"object","properties":{"ids":{"description":"Bundle identifiers to filter","example":["bundle_001","bundle_002"],"type":"array","items":{"type":"string"}},"types":{"description":"Bundle types to filter","example":["weapon_bundle","character_bundle"],"type":"array","items":{"type":"string"}},"subTypes":{"description":"Bundle sub-types to filter","example":["starter","premium"],"type":"array","items":{"type":"string"}},"isLimited":{"type":"boolean","description":"Filter by limited status","example":false},"isGacha":{"type":"boolean","description":"Filter by gacha status","example":false},"offset":{"type":"number","description":"Pagination offset","example":0},"limit":{"type":"number","description":"Pagination limit","example":10},"search":{"type":"string","description":"Search keyword","example":"starter"},"sortField":{"type":"string","description":"Field to sort by","example":"name"},"sortOrder":{"type":"string","description":"Sort order","example":"ASC"},"projectId":{"type":"string","description":"Project ID","example":"123e4567-e89b-12d3-a456-426614174000"},"showArchived":{"type":"boolean","description":"Whether to show archived bundles","example":false}},"required":["projectId"]},"CreateStoreContentPriceDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the store content price","example":"123e4567-e89b-12d3-a456-426614174000"},"priceTypes":{"type":"string","description":"Type of price","enum":["RMG","virtual currency","IAP"],"example":"virtual currency"},"price":{"type":"number","description":"Price amount","example":100},"discount":{"type":"number","description":"Discount percentage","example":10},"bonusCashAllowance":{"type":"number","description":"Bonus cash allowance amount","example":50},"storeContentId":{"type":"string","description":"Store content identifier","example":"store_content_001"},"gamePlatformMasterId":{"type":"number","description":"Game platform master ID","example":1},"realWorldCurrencyId":{"type":"number","description":"Real world currency ID","example":1},"currencyId":{"type":"number","description":"Virtual currency ID","example":1},"productId":{"type":"string","description":"Product identifier","example":"prod_12345"}},"required":["priceTypes","price"]},"StoreContentsDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the store content","example":"123e4567-e89b-12d3-a456-426614174000"},"quantity":{"type":"number","description":"Quantity of the content","example":1},"storesCategoryId":{"type":"string","description":"Store category identifier","example":"category_001"},"bundleId":{"type":"string","description":"Bundle identifier","example":"bundle_001"},"contentBundleId":{"type":"string","description":"Content bundle identifier","example":"content_bundle_001"},"itemId":{"type":"string","description":"Item identifier","example":"item_001"},"currencyId":{"type":"number","description":"Currency identifier","example":1},"storeContentPrice":{"description":"Price information for the store content","type":"array","items":{"$ref":"#/components/schemas/CreateStoreContentPriceDto"}}}},"CreateStoreCategoryDto":{"type":"object","properties":{"storeCategoryId":{"type":"string","description":"Store category identifier","example":"category_001"},"name":{"type":"string","description":"Name of the store category","example":"Weapons"},"description":{"type":"string","description":"Description of the store category","example":"All weapon items"},"iconUrl":{"type":"string","description":"URL for the category icon","example":"https://example.com/icons/weapons.png"},"storeId":{"type":"string","description":"Store identifier","example":"store_001"},"isDefault":{"type":"boolean","description":"Whether this is the default category","example":false},"storeContents":{"description":"Contents within the store category","type":"array","items":{"$ref":"#/components/schemas/StoreContentsDto"}}},"required":["name"]},"CreateOneStoreDto":{"type":"object","properties":{"storeId":{"type":"string","description":"Store identifier","example":"store_001"},"name":{"type":"string","description":"Name of the store","example":"Premium Store"},"description":{"type":"string","description":"Description of the store","example":"Store containing premium items"},"iconUrl":{"type":"string","description":"URL for the store icon","example":"https://example.com/icons/store.png"},"gamePlatformMasterId":{"type":"number","description":"Game platform master ID","example":1},"isLocked":{"type":"boolean","description":"Whether the store is locked","example":false},"storeQuantity":{"type":"number","description":"Quantity available in store","example":100},"projectId":{"type":"string","description":"Project ID","example":"123e4567-e89b-12d3-a456-426614174000"},"unlockOperator":{"type":"string","description":"Operator for unlock conditions","example":"AND"},"meta":{"type":"object","description":"Additional metadata for the store","example":{"featured":true}},"tags":{"description":"Tags associated with the store","example":["premium","seasonal"],"type":"array","items":{"type":"string"}},"active":{"type":"boolean","description":"Whether the store is active","example":true},"archive":{"type":"boolean","description":"Whether the store is archived","example":false},"storeCategories":{"description":"Store categories","type":"array","items":{"$ref":"#/components/schemas/CreateStoreCategoryDto"}},"rewardUnlockCondition":{"description":"Reward unlock conditions","type":"array","items":{"$ref":"#/components/schemas/RewardUnlockCondition"}},"storePlatformIds":{"description":"Platform IDs where the store is available","example":[1,2],"type":"array","items":{"type":"number"}},"storeLocationIds":{"description":"Location IDs where the store is available","example":[1,2],"type":"array","items":{"type":"number"}}},"required":["storeId","name","projectId"]},"CreateStoresDto":{"type":"object","properties":{"stores":{"description":"Array of stores to create","type":"array","items":{"$ref":"#/components/schemas/CreateOneStoreDto"}}},"required":["stores"]},"UpdateStoreContentPriceDto":{"type":"object","properties":{"id":{"type":"string","description":"Store content price ID","example":"123e4567-e89b-12d3-a456-426614174000"},"priceTypes":{"type":"string","description":"Type of price","enum":["RMG","virtual currency","IAP"],"example":"virtual currency"},"price":{"type":"number","description":"Price amount","example":100},"discount":{"type":"number","description":"Discount percentage","example":10},"bonusCashAllowance":{"type":"number","description":"Bonus cash allowance amount","example":50},"storeContentId":{"type":"string","description":"Store content identifier","example":"store_content_001"},"gamePlatformMasterId":{"type":"number","description":"Game platform master ID","example":1},"realWorldCurrencyId":{"type":"number","description":"Real world currency ID","example":1},"currencyId":{"type":"number","description":"Virtual currency ID","example":1},"productId":{"type":"number","description":"Product identifier","example":"prod_12345"},"archive":{"type":"boolean","description":"Whether the price is archived","example":false}},"required":["priceTypes","price"]},"UpdateStoreContentsDto":{"type":"object","properties":{"id":{"type":"string","description":"Store content ID","example":"123e4567-e89b-12d3-a456-426614174000"},"quantity":{"type":"number","description":"Quantity of the content","example":1},"storesCategoryId":{"type":"string","description":"Store category identifier","example":"category_001"},"bundleId":{"type":"string","description":"Bundle identifier","example":"bundle_001"},"itemId":{"type":"string","description":"Item identifier","example":"item_001"},"currencyId":{"type":"number","description":"Currency identifier","example":1},"storeContentPrice":{"description":"Price information for the store content","type":"array","items":{"$ref":"#/components/schemas/UpdateStoreContentPriceDto"}},"archive":{"type":"boolean","description":"Whether the content is archived","example":false}}},"UpdateStoreCategoryDto":{"type":"object","properties":{"id":{"type":"string","description":"Store category ID","example":"123e4567-e89b-12d3-a456-426614174000"},"storeCategoryId":{"type":"string","description":"Store category identifier","example":"category_001"},"storeId":{"type":"string","description":"Store identifier","example":"store_001"},"name":{"type":"string","description":"Name of the store category","example":"Weapons"},"description":{"type":"string","description":"Description of the store category","example":"All weapon items"},"iconUrl":{"type":"string","description":"URL for the category icon","example":"https://example.com/icons/weapons.png"},"isDefault":{"type":"boolean","description":"Whether this is the default category","example":false},"archive":{"type":"boolean","description":"Whether the category is archived","example":false},"storeContents":{"description":"Contents within the store category","type":"array","items":{"$ref":"#/components/schemas/UpdateStoreContentsDto"}}}},"UpdateStoreDto":{"type":"object","properties":{"id":{"type":"string","description":"Store ID","example":"123e4567-e89b-12d3-a456-426614174000"},"storeId":{"type":"string","description":"Store identifier","example":"store_001"},"name":{"type":"string","description":"Name of the store","example":"Premium Store"},"description":{"type":"string","description":"Description of the store","example":"Store containing premium items"},"iconUrl":{"type":"string","description":"URL for the store icon","example":"https://example.com/icons/store.png"},"storeImageUrl":{"type":"string","description":"URL for the store image","example":"https://example.com/images/store-banner.png"},"gamePlatformMasterId":{"type":"number","description":"Game platform master ID","example":1},"isLocked":{"type":"boolean","description":"Whether the store is locked","example":false},"quantity":{"type":"number","description":"Quantity available in store","example":100},"unlockOperator":{"type":"string","description":"Operator for unlock conditions","example":"AND"},"meta":{"type":"object","description":"Additional metadata for the store","example":{"featured":true}},"tags":{"description":"Tags associated with the store","example":["premium","seasonal"],"type":"array","items":{"type":"string"}},"active":{"type":"boolean","description":"Whether the store is active","example":true},"archive":{"type":"boolean","description":"Whether the store is archived","example":false},"storeCategories":{"description":"Store categories","type":"array","items":{"$ref":"#/components/schemas/UpdateStoreCategoryDto"}},"rewardUnlockCondition":{"description":"Reward unlock conditions","type":"array","items":{"$ref":"#/components/schemas/RewardUnlockCondition"}},"storePlatformIds":{"description":"Platform IDs where the store is available","example":[1,2],"type":"array","items":{"type":"number"}},"storeLocationIds":{"description":"Location IDs where the store is available","example":[1,2],"type":"array","items":{"type":"number"}}},"required":["id"]},"UpdateStoresDto":{"type":"object","properties":{"stores":{"description":"Array of stores to update","type":"array","items":{"$ref":"#/components/schemas/UpdateStoreDto"}}},"required":["stores"]},"GetStoresDto":{"type":"object","properties":{"ids":{"description":"Store identifiers to filter","example":["store_001","store_002"],"type":"array","items":{"type":"string"}},"storePlatforms":{"description":"Store platforms to filter","example":["PC","Mobile"],"type":"array","items":{"type":"string"}},"storeLocations":{"description":"Store locations to filter","example":["US","EU"],"type":"array","items":{"type":"string"}},"offset":{"type":"number","description":"Pagination offset","example":0},"limit":{"type":"number","description":"Pagination limit","example":10},"search":{"type":"string","description":"Search keyword","example":"premium"},"sortField":{"type":"string","description":"Field to sort by","example":"name"},"sortOrder":{"type":"string","description":"Sort order","example":"ASC"},"projectId":{"type":"string","description":"Project ID","example":"123e4567-e89b-12d3-a456-426614174000"},"showArchived":{"type":"boolean","description":"Whether to show archived stores","example":false}},"required":["projectId"]},"SearchInventoryDto":{"type":"object","properties":{"projectId":{"type":"string","description":"Project ID","example":"123e4567-e89b-12d3-a456-426614174000"},"search":{"type":"string","description":"Search keyword","example":"sword"},"limit":{"type":"number","description":"Pagination limit","example":10},"offset":{"type":"number","description":"Pagination offset","example":0},"filters":{"type":"object","description":"Filter criteria for inventory search","example":{}}},"required":["projectId"]},"IdsDto":{"type":"object","properties":{"ids":{"description":"Array of identifiers","example":["id_001","id_002"],"type":"array","items":{"type":"string"}}},"required":["ids"]},"RewardDetailsDto":{"type":"object","properties":{"items":{"description":"Item identifiers","allOf":[{"$ref":"#/components/schemas/IdsDto"}]},"bundles":{"description":"Bundle identifiers","allOf":[{"$ref":"#/components/schemas/IdsDto"}]},"currencies":{"description":"Currency identifiers","allOf":[{"$ref":"#/components/schemas/IdsDto"}]},"progressionMarkers":{"description":"Progression marker identifiers","allOf":[{"$ref":"#/components/schemas/IdsDto"}]},"progressionSystem":{"description":"Progression system identifiers","allOf":[{"$ref":"#/components/schemas/IdsDto"}]},"stores":{"description":"Store identifiers","allOf":[{"$ref":"#/components/schemas/IdsDto"}]}}},"RewardRequestDto":{"type":"object","properties":{"rewardDetails":{"description":"Reward details","allOf":[{"$ref":"#/components/schemas/RewardDetailsDto"}]},"projectId":{"type":"string","description":"Project ID","example":"123e4567-e89b-12d3-a456-426614174000"}},"required":["rewardDetails","projectId"]},"GetClientItemsV2Dto":{"type":"object","properties":{"itemIds":{"description":"Item identifiers to filter","example":["item_001","item_002"],"type":"array","items":{"type":"string"}},"attributes":{"description":"Attributes to include in response","example":["name","description"],"type":"array","items":{"type":"string"}},"isLocked":{"type":"boolean","description":"Filter by locked status","example":false},"isDefaultLoadout":{"type":"boolean","description":"Filter by default loadout status","example":false},"offset":{"type":"number","description":"Pagination offset","example":0},"limit":{"type":"number","description":"Pagination limit","example":10},"search":{"type":"string","description":"Search keyword","example":"sword"},"includeTags":{"description":"Tags to include in filter","example":["rare","weapon"],"type":"array","items":{"type":"string"}}}},"GetClientBundlesV2Dto":{"type":"object","properties":{"bundleIds":{"description":"Bundle identifiers to filter","example":["bundle_001","bundle_002"],"type":"array","items":{"type":"string"}},"attributes":{"description":"Attributes to include in response","example":["name","description"],"type":"array","items":{"type":"string"}},"isLocked":{"type":"boolean","description":"Filter by locked status","example":false},"isGacha":{"type":"boolean","description":"Filter by gacha status","example":false},"offset":{"type":"number","description":"Pagination offset","example":0},"limit":{"type":"number","description":"Pagination limit","example":10},"search":{"type":"string","description":"Search keyword","example":"weapon"},"includeTags":{"description":"Tags to include in filter","example":["premium","limited"],"type":"array","items":{"type":"string"}}}},"GetClientStoreV2Dto":{"type":"object","properties":{"storeIds":{"description":"Store identifiers to filter","example":["store_001","store_002"],"type":"array","items":{"type":"string"}},"attributes":{"description":"Attributes to include in response","example":["name","description"],"type":"array","items":{"type":"string"}},"offset":{"type":"number","description":"Pagination offset","example":0},"limit":{"type":"number","description":"Pagination limit","example":10},"search":{"type":"string","description":"Search keyword","example":"premium"},"includeTags":{"description":"Tags to include in filter","example":["featured","seasonal"],"type":"array","items":{"type":"string"}}}},"GetClientGachaBundleConfigV2Dto":{"type":"object","properties":{"bundleId":{"type":"string","description":"Bundle identifier","example":"bundle_001"},"offset":{"type":"number","description":"Pagination offset","example":0},"limit":{"type":"number","description":"Pagination limit","example":10}},"required":["bundleId"]},"GetStoreCategoriesV2Dto":{"type":"object","properties":{"storeId":{"type":"string","description":"Store identifier","example":"store_001"},"categoryIds":{"description":"Category identifiers to filter","example":["category_001","category_002"],"type":"array","items":{"type":"string"}},"offset":{"type":"number","description":"Pagination offset","example":0},"limit":{"type":"number","description":"Pagination limit","example":10},"search":{"type":"string","description":"Search keyword","example":"weapons"}},"required":["storeId"]},"GetStoreCategoryContentsV2Dto":{"type":"object","properties":{"storeId":{"type":"string","description":"Store identifier","example":"store_001"},"categoryId":{"type":"string","description":"Category identifier","example":"category_001"},"attributes":{"description":"Attributes to include in response","example":["name","description"],"type":"array","items":{"type":"string"}},"limit":{"type":"number","description":"Pagination limit","example":10},"offset":{"type":"number","description":"Pagination offset","example":0}},"required":["storeId"]},"AddUserInventoryDto":{"type":"object","properties":{}},"AddUserInventoryV2Dto":{"type":"object","properties":{}},"OpenBundleDto":{"type":"object","properties":{}},"OpenGachaBundleV2Dto":{"type":"object","properties":{}},"GetPityStatusV2":{"type":"object","properties":{}},"RemoveUserInventoryDto":{"type":"object","properties":{}},"RemoveUserInventoryV2Dto":{"type":"object","properties":{}},"GetUserInventoryDto":{"type":"object","properties":{}},"EquipItemDto":{"type":"object","properties":{}},"EquipUnequipItemV2Dto":{"type":"object","properties":{}},"ConsumeItemDto":{"type":"object","properties":{}},"ConsumeItemV2Dto":{"type":"object","properties":{}},"GetMyInventoryV2Dto":{"type":"object","properties":{}},"GetMyCollectionsV2Dto":{"type":"object","properties":{}},"TaskReward":{"type":"object","properties":{"quantity":{"type":"number","description":"Reward quantity","example":100},"rewardSetId":{"type":"string","description":"Reward set ID","example":"reward-set-uuid"},"bundleId":{"type":"string","description":"Bundle ID if reward is a bundle","example":"bundle-uuid"},"itemId":{"type":"string","description":"Item ID if reward is an item","example":"item-uuid"},"currencyId":{"type":"object","description":"Currency ID if reward is currency","example":1},"progressionMarkerId":{"type":"object","description":"Progression marker ID if reward is a marker","example":1},"thirdPartyReward":{"type":"string","description":"Third party reward identifier","example":"third-party-reward-code"}},"required":["quantity"]},"levelDetails":{"type":"object","properties":{"levelSystemId":{"type":"string","description":"Level system ID","example":"level-system-uuid"},"level":{"type":"number","description":"Required level","example":5}},"required":["levelSystemId"]},"CreateTaskDto":{"type":"object","properties":{"projectId":{"type":"string","description":"Project ID the task belongs to","example":"proj-12345-abcde"},"name":{"type":"string","description":"Task display name","example":"Daily Login Task"},"taskId":{"type":"string","description":"Unique task identifier","example":"task-daily-login-001"},"description":{"type":"string","description":"Task description","example":"Login every day to earn rewards"},"iconUrl":{"type":"string","description":"URL to task icon","example":"https://cdn.example.com/icons/login.png"},"rewardClaim":{"type":"string","description":"How rewards are claimed","enum":["automatic","on-claim"],"example":"automatic"},"customEventId":{"type":"string","description":"Custom event ID that triggers this task","example":"custom-event-uuid"},"defaultEventId":{"type":"string","description":"Default event ID that triggers this task","example":"default-event-uuid"},"rewardDetails":{"description":"Task reward configurations","type":"array","items":{"$ref":"#/components/schemas/TaskReward"}},"levelDetails":{"description":"Level requirements to unlock task","type":"array","items":{"$ref":"#/components/schemas/levelDetails"}},"tags":{"description":"Array of tag names","example":["daily","login"],"type":"array","items":{"type":"string"}},"meta":{"type":"object","description":"Custom metadata object","example":{"difficulty":"easy"}},"config":{"type":"object","description":"Task configuration array","example":[]},"businessLogic":{"type":"object","description":"Business logic configuration","example":{"targetCount":1}},"isRecurring":{"type":"object","description":"Whether this task recurs","example":true},"linkedRewardDetails":{"description":"Linked reward configurations for task groups","type":"array","items":{"$ref":"#/components/schemas/TaskReward"}},"isLinkedRewardSameAsGeneralRewards":{"type":"boolean","description":"Whether linked rewards match general rewards","example":false}},"required":["projectId","name","rewardClaim","isRecurring"]},"EditTaskDto":{"type":"object","properties":{"id":{"type":"string","description":"Task UUID to update","example":"task-uuid-12345"},"projectId":{"type":"string","description":"Project ID the task belongs to","example":"proj-12345-abcde"},"name":{"type":"string","description":"Task display name","example":"Daily Login Task"},"taskId":{"type":"string","description":"Unique task identifier","example":"task-daily-login-001"},"description":{"type":"string","description":"Task description","example":"Login every day to earn rewards"},"iconUrl":{"type":"string","description":"URL to task icon","example":"https://cdn.example.com/icons/login.png"},"rewardClaim":{"type":"string","description":"How rewards are claimed","enum":["automatic","on-claim"],"example":"automatic"},"customEventId":{"type":"string","description":"Custom event ID that triggers this task","example":"custom-event-uuid"},"defaultEventId":{"type":"string","description":"Default event ID that triggers this task","example":"default-event-uuid"},"rewardDetails":{"description":"Task reward configurations","type":"array","items":{"$ref":"#/components/schemas/TaskReward"}},"levelDetails":{"description":"Level requirements to unlock task","type":"array","items":{"$ref":"#/components/schemas/levelDetails"}},"tags":{"description":"Array of tag names","example":["daily","login"],"type":"array","items":{"type":"string"}},"meta":{"type":"object","description":"Custom metadata object","example":{"difficulty":"easy"}},"config":{"type":"object","description":"Task configuration array","example":[]},"businessLogic":{"type":"object","description":"Business logic configuration","example":{"targetCount":1}},"isRecurring":{"type":"object","description":"Whether this task recurs","example":true},"linkedRewardDetails":{"description":"Linked reward configurations for task groups","type":"array","items":{"$ref":"#/components/schemas/TaskReward"}},"isLinkedRewardSameAsGeneralRewards":{"type":"boolean","description":"Whether linked rewards match general rewards","example":false}},"required":["id","projectId"]},"TaskDetails":{"type":"object","properties":{"name":{"type":"string","description":"Task display name","example":"Complete 5 matches"},"sortingOrder":{"type":"number","description":"Sorting order for task display","example":1},"taskId":{"type":"string","description":"Unique identifier for the task","example":"task-001"},"description":{"type":"string","description":"Task description","example":"Win 5 matches to complete this task"},"iconUrl":{"type":"string","description":"URL for task icon","example":"https://example.com/task-icon.png"},"rewardClaim":{"type":"string","description":"Reward claim option","enum":["automatic","on-claim"],"example":"automatic"},"customEventId":{"type":"string","description":"Custom event ID for tracking","example":"custom-event-001"},"defaultEventId":{"type":"string","description":"Default event ID for tracking","example":"default-event-001"},"rewardDetails":{"description":"Array of task rewards","type":"array","items":{"$ref":"#/components/schemas/TaskReward"}},"config":{"type":"object","description":"Task configuration array","example":[]},"businessLogic":{"type":"object","description":"Business logic object","example":{"rule":"value"}},"meta":{"type":"object","description":"Metadata object for task","example":{"key":"value"}},"tags":{"description":"Array of tags for categorization","example":["daily","pvp"],"type":"array","items":{"type":"string"}},"isLinkedReward":{"type":"boolean","description":"Whether task has linked rewards","example":true},"isLinkedRewardSameAsGeneralRewards":{"type":"object","description":"Whether linked reward is same as general rewards","example":true},"linkedRewardDetails":{"description":"Array of linked reward details","type":"array","items":{"$ref":"#/components/schemas/TaskReward"}}},"required":["name","taskId","rewardClaim","rewardDetails","isLinkedReward"]},"CreateTaskGroupDto":{"type":"object","properties":{"projectId":{"type":"string","description":"Project ID the task group belongs to","example":"project-123"},"name":{"type":"string","description":"Task group display name","example":"Daily Missions"},"taskGroupId":{"type":"string","description":"Unique identifier for the task group","example":"task-group-001"},"description":{"type":"string","description":"Task group description","example":"Complete daily missions to earn rewards"},"iconUrl":{"type":"string","description":"URL for task group icon","example":"https://example.com/icon.png"},"rewardClaim":{"type":"string","description":"Reward claim option","enum":["automatic","on-claim"],"example":"automatic"},"missionSequenceOrder":{"type":"string","description":"Mission sequence order type","enum":["sequence","random"],"example":"sequence"},"rewardDetails":{"description":"Array of task rewards","type":"array","items":{"$ref":"#/components/schemas/TaskReward"}},"levelDetails":{"description":"Array of level details for level locking","type":"array","items":{"$ref":"#/components/schemas/levelDetails"}},"isLockedByLevel":{"type":"boolean","description":"Whether task group is locked by level","example":false},"tags":{"description":"Array of tags for categorization","example":["daily","beginner"],"type":"array","items":{"type":"string"}},"meta":{"type":"object","description":"Metadata object for additional information","example":{"key":"value"}},"config":{"type":"object","description":"Configuration object","example":{"setting":"value"}},"stageLength":{"type":"number","description":"Stage length for task group","example":7},"seriesResetMiss":{"type":"boolean","description":"Whether series resets on miss","example":false},"seriesResetEnd":{"type":"boolean","description":"Whether series resets at end","example":true},"stageIntervalUnitId":{"type":"number","description":"Stage interval unit ID","example":1},"typeId":{"type":"number","description":"Task group type ID","example":1},"taskDetails":{"description":"Array of task details in this group","type":"array","items":{"$ref":"#/components/schemas/TaskDetails"}},"noOfMissionsPerCycle":{"type":"number","description":"Number of missions per cycle","example":5},"linkedRewardDetails":{"description":"Array of linked reward details","type":"array","items":{"$ref":"#/components/schemas/TaskReward"}},"isLinkedRewardSameAsGeneralRewards":{"type":"boolean","description":"Whether linked reward is same as general rewards","example":true}},"required":["projectId","name","taskGroupId","taskDetails"]},"EditTaskGroupDto":{"type":"object","properties":{"id":{"type":"string","description":"Task group ID to edit","example":"task-group-uuid-123"},"projectId":{"type":"string","description":"Project ID the task group belongs to","example":"project-123"},"name":{"type":"string","description":"Task group display name","example":"Daily Missions"},"taskGroupId":{"type":"string","description":"Unique identifier for the task group","example":"task-group-001"},"description":{"type":"string","description":"Task group description","example":"Complete daily missions to earn rewards"},"iconUrl":{"type":"string","description":"URL for task group icon","example":"https://example.com/icon.png"},"rewardClaim":{"type":"string","description":"Reward claim option","enum":["automatic","on-claim"],"example":"automatic"},"missionSequenceOrder":{"type":"string","description":"Mission sequence order type","enum":["sequence","random"],"example":"sequence"},"rewardDetails":{"description":"Array of task rewards","type":"array","items":{"$ref":"#/components/schemas/TaskReward"}},"levelDetails":{"description":"Array of level details for level locking","type":"array","items":{"$ref":"#/components/schemas/levelDetails"}},"isLockedByLevel":{"type":"boolean","description":"Whether task group is locked by level","example":false},"tags":{"description":"Array of tags for categorization","example":["daily","beginner"],"type":"array","items":{"type":"string"}},"meta":{"type":"object","description":"Metadata object for additional information","example":{"key":"value"}},"config":{"type":"object","description":"Configuration object","example":{"setting":"value"}},"stageLength":{"type":"number","description":"Stage length for task group","example":7},"seriesResetMiss":{"type":"boolean","description":"Whether series resets on miss","example":false},"seriesResetEnd":{"type":"boolean","description":"Whether series resets at end","example":true},"stageIntervalUnitId":{"type":"number","description":"Stage interval unit ID","example":1},"typeId":{"type":"number","description":"Task group type ID","example":1},"taskDetails":{"description":"Array of task details in this group","type":"array","items":{"$ref":"#/components/schemas/TaskDetails"}},"noOfMissionsPerCycle":{"type":"number","description":"Number of missions per cycle","example":5},"linkedRewardDetails":{"description":"Array of linked reward details","type":"array","items":{"$ref":"#/components/schemas/TaskReward"}},"isLinkedRewardSameAsGeneralRewards":{"type":"boolean","description":"Whether linked reward is same as general rewards","example":true}},"required":["id","projectId"]},"GetTaskDto":{"type":"object","properties":{"ids":{"description":"Filter by specific task IDs","example":["task-uuid-1","task-uuid-2"],"type":"array","items":{"type":"string"}},"type":{"type":"string","description":"Filter by task type","enum":["static","daily"],"example":"static"},"defaultEventIds":{"description":"Filter by default event IDs","example":["event-uuid-1"],"type":"array","items":{"type":"string"}},"customEventIds":{"description":"Filter by custom event IDs","example":["custom-event-uuid-1"],"type":"array","items":{"type":"string"}},"search":{"type":"string","description":"Search keyword","example":"daily"},"projectId":{"type":"string","description":"Project ID to filter tasks","example":"proj-12345-abcde"},"offset":{"type":"number","description":"Pagination offset","example":0},"limit":{"type":"number","description":"Pagination limit","example":10},"sortField":{"type":"string","description":"Field to sort by","example":"createdAt"},"sortOrder":{"type":"string","description":"Sort order","enum":["ASC","DESC"],"example":"DESC"},"status":{"description":"Filter by task status","example":["active","scheduled"],"type":"array","items":{"type":"string"}},"recurrenceFrequency":{"type":"number","description":"Filter by recurrence frequency","example":1},"intervalUnitId":{"type":"number","description":"Filter by interval unit ID","example":1},"startDate":{"type":"string","description":"Filter by start date","example":"2024-01-01T00:00:00Z"},"endDate":{"type":"string","description":"Filter by end date","example":"2024-12-31T23:59:59Z"},"scheduleType":{"type":"string","description":"Filter by schedule type","enum":["normal","recurring"],"example":"normal"},"instanceStatus":{"description":"Filter by instance status","example":["running","completed"],"type":"array","items":{"type":"string"}},"showArchived":{"type":"boolean","description":"Include archived tasks","example":false}},"required":["projectId"]},"GetTaskGroupAdminDto":{"type":"object","properties":{"ids":{"description":"Array of task group IDs to filter by (empty array for all)","example":[],"type":"array","items":{"type":"string"}},"type":{"type":"string","description":"Task group type name filter","example":"mission"},"projectId":{"type":"string","description":"Project ID to get task groups for","example":"proj-uuid-12345"},"search":{"type":"string","description":"Search query for task group name","example":"weekly"},"offset":{"type":"number","description":"Pagination offset","example":0},"limit":{"type":"number","description":"Number of results to return","example":10},"typeId":{"type":"number","description":"Task group type ID (1=Mission, 2=Step Series, 3=Time Series)","example":1},"sortField":{"type":"string","description":"Field to sort by","example":"createdAt"},"sortOrder":{"type":"string","description":"Sort order (ASC or DESC)","example":"DESC"},"status":{"description":"Filter by task group status","example":["active","inactive"],"type":"array","items":{"type":"string"}},"instanceStatus":{"description":"Filter by instance status","example":["in progress","yet to start"],"type":"array","items":{"type":"string"}},"recurrenceFrequency":{"type":"number","description":"Recurrence frequency for recurring task groups","example":1},"intervalUnitId":{"type":"number","description":"Interval unit ID for recurrence","example":1},"startDate":{"type":"string","description":"Filter by start date (ISO 8601 format)","example":"2024-01-01T00:00:00.000Z"},"endDate":{"type":"string","description":"Filter by end date (ISO 8601 format)","example":"2024-12-31T23:59:59.000Z"},"scheduleType":{"type":"string","description":"Schedule type filter","enum":["normal","recurring"],"example":"normal"},"showArchived":{"type":"boolean","description":"Include archived task groups","example":false}},"required":["ids","projectId","typeId"]},"ForceCompleteTaskDto":{"type":"object","properties":{}},"ForceCompleteTaskV2Dto":{"type":"object","properties":{}},"GetUserTasksDto":{"type":"object","properties":{}},"GetMasterTasksDto":{"type":"object","properties":{}},"GetTaskGroupDto":{"type":"object","properties":{}},"GetStatusOfTaskGroupDto":{"type":"object","properties":{}},"GrantRewardDto":{"type":"object","properties":{}},"GrantRewardBySourceV2Dto":{"type":"object","properties":{}},"GrantRewardBySourceOverridesV2Dto":{"type":"object","properties":{}},"GrantRewardBatchV2Dto":{"type":"object","properties":{}},"GrantRewardSingleV2Dto":{"type":"object","properties":{}},"GetRewardHistoryDto":{"type":"object","properties":{}},"DeleteTaskDto":{"type":"object","properties":{"ids":{"description":"Array of task IDs to delete","example":["task-uuid-12345","task-uuid-67890"],"type":"array","items":{"type":"string"}}},"required":["ids"]},"DeleteTaskGroupDto":{"type":"object","properties":{"ids":{"description":"Array of task group IDs to delete","example":["taskgroup-uuid-12345","taskgroup-uuid-67890"],"type":"array","items":{"type":"string"}}},"required":["ids"]},"GetTaskProgressDto":{"type":"object","properties":{}},"GetTaskGroupProgressDto":{"type":"object","properties":{}},"GetTaskBusDto":{"type":"object","properties":{"projectId":{"type":"string","description":"Project ID to get task bus entries for","example":"proj-uuid-12345"},"limit":{"type":"number","description":"Number of results to return","example":10},"offset":{"type":"number","description":"Pagination offset","example":0}},"required":["projectId"]},"ScheduleTaskDto":{"type":"object","properties":{"taskId":{"type":"string","description":"Task ID to schedule","example":"task-uuid-12345"},"startDate":{"type":"string","description":"Start date/time for the task (ISO 8601 format)","example":"2024-01-15T10:00:00.000Z"},"endDate":{"type":"string","description":"End date/time for the task (ISO 8601 format)","example":"2024-01-31T23:59:59.000Z"},"recurrenceFrequency":{"type":"number","description":"How often the task recurs (used with intervalUnitId)","example":1},"intervalUnitId":{"type":"number","description":"Interval unit ID (1=hours, 2=days, 3=weeks, 4=months)","example":2},"recurrenceCount":{"type":"number","description":"Number of times the task should recur","example":10},"scheduleType":{"type":"string","description":"Type of schedule","enum":["normal","recurring"],"example":"normal"},"timezone":{"type":"string","description":"Timezone for the schedule (IANA timezone)","example":"America/New_York"}},"required":["taskId"]},"ScheduleTaskGroupDto":{"type":"object","properties":{"taskGroupId":{"type":"string","description":"Task group ID to schedule","example":"taskgroup-uuid-12345"},"startDate":{"type":"string","description":"Start date/time for the task group (ISO 8601 format)","example":"2024-01-15T10:00:00.000Z"},"endDate":{"type":"string","description":"End date/time for the task group (ISO 8601 format)","example":"2024-01-31T23:59:59.000Z"},"recurrenceFrequency":{"type":"number","description":"How often the task group recurs (used with intervalUnitId)","example":1},"intervalUnitId":{"type":"number","description":"Interval unit ID (1=hours, 2=days, 3=weeks, 4=months)","example":2},"recurrenceCount":{"type":"number","description":"Number of times the task group should recur","example":10},"scheduleType":{"type":"string","description":"Type of schedule","enum":["normal","recurring"],"example":"normal"},"timezone":{"type":"string","description":"Timezone for the schedule (IANA timezone)","example":"America/New_York"}},"required":["taskGroupId"]},"StopTaskDto":{"type":"object","properties":{"taskId":{"type":"string","description":"Task ID to stop","example":"task-uuid-12345"}},"required":["taskId"]},"StopTaskGroupDto":{"type":"object","properties":{"taskGroupId":{"type":"string","description":"Task group ID to stop","example":"taskgroup-uuid-12345"}},"required":["taskGroupId"]},"GetMasterTasksV2Dto":{"type":"object","properties":{}},"GetClientMissionsV2Dto":{"type":"object","properties":{}},"GetClientStepSeriesV2Dto":{"type":"object","properties":{}},"GetClientTimeSeriesV2Dto":{"type":"object","properties":{}},"GetMyTaskStatusV2Dto":{"type":"object","properties":{}},"GetMyTaskGroupStatusV2Dto":{"type":"object","properties":{}},"GetMyTaskProgressV2Dto":{"type":"object","properties":{}},"GetMyRewardHistoryV2Dto":{"type":"object","properties":{}},"GetMyTimeSeriesProgressDto":{"type":"object","properties":{}},"GetUserTaskAssignmentDto":{"type":"object","properties":{"taskGroupId":{"type":"string","description":"The task group ID","example":"019c2d3f-5f6f-7001-a927-12090a3e9e38"},"fromDate":{"type":"string","description":"Start date for the history range (ISO format)","example":"2024-03-14T00:00:00.000Z"},"toDate":{"type":"string","description":"End date for the history range (ISO format)","example":"2024-03-21T00:00:00.000Z"},"projectId":{"type":"string","description":"Project ID","example":"019ac982-8a5c-7838-a448-ddbca93bd24d"},"userId":{"type":"string","description":"User ID for user-specific assignment history (optional)","example":"019b358c-0949-7ff0-8efe-e799ffb27322"}},"required":["taskGroupId","fromDate","toDate","projectId"]},"GetTaskGroupStatusWithCooldownDto":{"type":"object","properties":{}},"customParameterDetails":{"type":"object","properties":{"name":{"type":"string","description":"Name of the custom parameter","example":"score"},"type":{"type":"string","description":"Type of the parameter","enum":["state","statistic"],"example":"statistic"},"dataTypeId":{"type":"string","description":"Data type ID for the parameter","example":1}},"required":["name","type","dataTypeId"]},"CreateAppEventDto":{"type":"object","properties":{"name":{"type":"string","description":"Display name of the custom event","example":"Player Scored"},"eventId":{"type":"string","description":"Custom unique identifier for the event","example":"player-scored-event"},"description":{"type":"string","description":"Description of the event","example":"Triggered when a player scores"},"projectId":{"type":"string","description":"Project ID this event belongs to","example":"proj-uuid-12345"},"tags":{"description":"Tags for categorization","example":["gameplay","scoring"],"type":"array","items":{"type":"string"}},"meta":{"type":"object","description":"Custom metadata for the event","example":{"priority":"high"}},"customParameterDetails":{"description":"Custom parameter definitions for the event","type":"array","items":{"$ref":"#/components/schemas/customParameterDetails"}}},"required":["name","eventId","projectId"]},"EditDefaultAppEventDto":{"type":"object","properties":{}},"SubscribeEventDto":{"type":"object","properties":{}},"EditCustomEventDto":{"type":"object","properties":{"id":{"type":"string","description":"Internal ID of the custom event to edit","example":"event-uuid-12345"},"name":{"type":"string","description":"Updated display name","example":"Player Scored Updated"},"projectId":{"type":"string","description":"Project ID","example":"proj-uuid-12345"},"eventId":{"type":"string","description":"Updated custom unique identifier","example":"player-scored-event-v2"},"eventDescription":{"type":"string","description":"Updated description of the event","example":"Updated trigger description"},"tags":{"description":"Updated tags","example":["gameplay","updated"],"type":"array","items":{"type":"string"}},"meta":{"type":"object","description":"Updated custom metadata","example":{"priority":"medium"}},"customParameterDetails":{"description":"Updated custom parameter definitions","type":"array","items":{"$ref":"#/components/schemas/customParameterDetails"}},"isSubscribed":{"type":"boolean","description":"Whether the event is subscribed","example":true}},"required":["id","projectId","isSubscribed"]},"GetDefaultAppEventDto":{"type":"object","properties":{"limit":{"type":"number","description":"Maximum number of records to return","example":10},"offset":{"type":"number","description":"Number of records to skip for pagination","example":0},"projectId":{"type":"string","description":"Project ID to get events for","example":"proj-uuid-12345"},"categories":{"description":"Filter by event categories","example":["gameplay","economy"],"type":"array","items":{"type":"string"}},"ids":{"description":"Filter by specific event IDs","example":["event-uuid-1","event-uuid-2"],"type":"array","items":{"type":"string"}},"search":{"type":"string","description":"Search keyword to filter by name","example":"score"},"showArchived":{"type":"boolean","description":"Whether to include archived events","example":false}},"required":["projectId"]},"CreateAppEventParamDto":{"type":"object","properties":{}},"GetParamsValue":{"type":"object","properties":{}},"Content":{"type":"object","properties":{"contentType":{"type":"string","description":"MIME type of the content","example":"image/png"},"category":{"type":"string","description":"Category of the media","enum":["icons","assets","videos","bundles","misc"],"example":"icons"},"fileName":{"type":"string","description":"Name of the file","example":"avatar.png"},"url":{"type":"string","description":"URL of the uploaded file","example":"https://cdn.example.com/avatar.png"},"fileSize":{"type":"number","description":"Size of the file in bytes","example":102400}},"required":["contentType","category"]},"AddContentToMediaDto":{"type":"object","properties":{"projectId":{"type":"string","description":"Project ID to add media to","example":"proj-uuid-12345"},"contents":{"description":"Array of content to add","type":"array","items":{"$ref":"#/components/schemas/Content"}}},"required":["projectId"]},"MediaFilters":{"type":"object","properties":{"categories":{"description":"Filter by media categories","example":["icons","assets"],"type":"array","items":{"type":"string"}},"extensions":{"description":"Filter by file extensions","example":["png","jpg"],"type":"array","items":{"type":"string"}}}},"GetMediaDto":{"type":"object","properties":{"projectId":{"type":"string","description":"Project ID to get media for","example":"proj-uuid-12345"},"offset":{"type":"number","description":"Number of records to skip for pagination","example":0},"limit":{"type":"number","description":"Maximum number of records to return","example":10},"search":{"type":"string","description":"Search keyword to filter by name","example":"avatar"},"filters":{"description":"Filters for categories and extensions","allOf":[{"$ref":"#/components/schemas/MediaFilters"}]}},"required":["projectId"]},"DeleteMediaContentDto":{"type":"object","properties":{"projectId":{"type":"string","description":"Project ID the media belongs to","example":"proj-uuid-12345"},"ids":{"description":"Array of media IDs to delete","example":["media-uuid-1","media-uuid-2"],"type":"array","items":{"type":"string"}}},"required":["projectId","ids"]},"GetMediaCategoryInfoDto":{"type":"object","properties":{"categories":{"type":"object","description":"Array of media categories to get info for","example":["icons","assets","videos"]},"projectId":{"type":"string","description":"Project ID to get category info for","example":"proj-uuid-12345"}},"required":["categories","projectId"]},"ScheduleLiveOpsDto":{"type":"object","properties":{"scheduledId":{"type":"string","description":"Custom schedule identifier","example":"schedule-001"},"id":{"type":"string","description":"Internal ID for updates","example":1},"projectId":{"type":"string","description":"Project ID","example":"proj-uuid-12345"},"startDate":{"type":"string","description":"Start date of the live ops event","example":"2024-01-15T10:00:00.000Z"},"endDate":{"type":"string","description":"End date of the live ops event","example":"2024-01-22T10:00:00.000Z"},"categoryId":{"type":"number","description":"Category ID for the live ops event","example":1},"recurrenceCount":{"type":"number","description":"Number of times to recur","example":4},"scheduleType":{"type":"string","description":"Type of schedule (normal or recurring)","example":"recurring"},"intervalUnitId":{"type":"number","description":"Interval unit ID (1=hourly, 2=daily, 3=weekly, 4=monthly)","example":3},"recurrenceFrequency":{"type":"number","description":"Frequency of recurrence","example":1},"offset":{"type":"number","description":"Offset in minutes for prize distribution","example":30},"archive":{"type":"boolean","description":"Whether the schedule is archived","example":false},"meta":{"type":"object","description":"Custom metadata","example":{"priority":"high"}},"tags":{"description":"Tags for categorization","example":["weekly","tournament"],"type":"array","items":{"type":"string"}},"competitionId":{"type":"string","description":"Competition ID to schedule","example":"comp-uuid-12345"},"leaderboardId":{"type":"string","description":"Leaderboard ID to schedule","example":"lb-uuid-12345"},"ugcLeaderboardId":{"type":"string","description":"UGC leaderboard UUID to schedule. Mutually exclusive with leaderboardId / competitionId — Schedule rows point at exactly one of the three.","example":"ugc-lb-uuid-12345"},"timezone":{"type":"string","description":"Timezone for the schedule","example":"UTC"}}},"ReScheduleLiveOpsDto":{"type":"object","properties":{}},"GetScheduleLiveOpsDto":{"type":"object","properties":{}},"CreateLiveopsCategory":{"type":"object","properties":{}},"CancelLiveOpsDto":{"type":"object","properties":{}},"GetLiveOpsDto":{"type":"object","properties":{"ids":{"description":"Array of live ops IDs to filter by","example":["liveops-uuid-1"],"type":"array","items":{"type":"string"}},"attributes":{"type":"object","description":"Attributes to include in response","example":["name","status"]},"entities":{"description":"Entity configuration for nested data","allOf":[{"$ref":"#/components/schemas/Entities"}]},"offset":{"type":"number","description":"Number of records to skip for pagination","example":0},"limit":{"type":"number","description":"Maximum number of records to return","example":10},"search":{"type":"string","description":"Search keyword to filter by name","example":"weekly"},"sortField":{"type":"string","description":"Field to sort by","example":"createdAt"},"sortOrder":{"type":"string","description":"Sort order (asc or desc)","example":"desc"},"projectId":{"type":"string","description":"Project ID to get live ops for","example":"proj-uuid-12345"},"competitionFormatTypeMasterId":{"type":"number","description":"Filter by competition format type master ID","example":1}},"required":["projectId"]},"PauseLiveOpsDto":{"type":"object","properties":{}},"GetLiveOpsResults":{"type":"object","properties":{}},"GetCompetitionScheduleHistoryV2":{"type":"object","properties":{}},"GetLeaderboardScheduleHistoryV2":{"type":"object","properties":{}},"FilterScheduleInstancesDto":{"type":"object","properties":{}},"PrizeDistributionRuleDto":{"type":"object","properties":{"startRank":{"type":"number","description":"Starting rank for this prize tier","example":1},"endRank":{"type":"number","description":"Ending rank for this prize tier","example":3},"rewards":{"type":"array","description":"Array of rewards for this tier"}},"required":["startRank"]},"CreateLeaderboardDto":{"type":"object","properties":{"leaderboardId":{"type":"string","description":"Custom unique identifier for the leaderboard","example":"weekly-highscore-lb"},"name":{"type":"string","description":"Display name of the leaderboard","example":"Weekly High Score"},"description":{"type":"string","description":"Description of the leaderboard","example":"Compete for the highest weekly score"},"iconUrl":{"type":"string","description":"URL for the leaderboard icon","example":"https://example.com/icon.png"},"leaderboardOutcomeDetails":{"type":"array","description":"Leaderboard outcome configuration details"},"gameId":{"type":"string","description":"Game ID this leaderboard belongs to","example":"game-uuid-12345"},"prizeDistributionOffset":{"type":"number","description":"Offset in minutes before prize distribution","example":30},"active":{"type":"boolean","description":"Whether the leaderboard is active","example":true},"archive":{"type":"boolean","description":"Whether the leaderboard is archived","example":false},"meta":{"type":"object","description":"Custom metadata for the leaderboard","example":{"category":"competitive"}},"tags":{"description":"Tags for categorization","example":["weekly","competitive"],"type":"array","items":{"type":"string"}},"projectId":{"type":"string","description":"Project ID this leaderboard belongs to","example":"proj-uuid-12345"},"matchId":{"type":"string","description":"Match ID to associate with the leaderboard","example":"match-uuid-12345"},"leaderboardOutcomeTypeMasterId":{"type":"number","description":"Leaderboard outcome type master ID","example":1},"sourceTypeId":{"type":"number","description":"Source type ID for the leaderboard","example":1},"competitionId":{"type":"string","description":"Competition ID if part of a competition","example":"comp-uuid-12345"},"customStatisticId":{"type":"string","description":"Custom statistic ID for scoring","example":"stat-uuid-12345"},"defaultStatisticId":{"type":"string","description":"Default statistic ID for scoring","example":"default-stat-uuid"},"prizeDistributionRule":{"description":"Prize distribution rules for rankings","type":"array","items":{"$ref":"#/components/schemas/PrizeDistributionRuleDto"}}},"required":["leaderboardId","leaderboardOutcomeDetails","projectId"]},"UpdateLeaderboardDto":{"type":"object","properties":{"id":{"type":"string","description":"Internal database ID of the leaderboard to update","example":"lb-uuid-12345"},"leaderboardId":{"type":"string","description":"Updated custom unique identifier","example":"weekly-highscore-lb-v2"},"name":{"type":"string","description":"Updated display name","example":"Weekly High Score Updated"},"description":{"type":"string","description":"Updated description","example":"Updated leaderboard description"},"iconUrl":{"type":"string","description":"Updated icon URL","example":"https://example.com/new-icon.png"},"leaderboardOutcomeDetails":{"type":"array","description":"Updated leaderboard outcome configuration"},"gameId":{"type":"string","description":"Updated game ID","example":"game-uuid-12345"},"active":{"type":"boolean","description":"Whether the leaderboard is active","example":true},"archive":{"type":"boolean","description":"Whether the leaderboard is archived","example":false},"meta":{"type":"object","description":"Updated custom metadata","example":{"category":"competitive"}},"tags":{"description":"Updated tags","example":["weekly","updated"],"type":"array","items":{"type":"string"}},"projectId":{"type":"string","description":"Project ID","example":"proj-uuid-12345"},"matchId":{"type":"string","description":"Updated match ID","example":"match-uuid-12345"},"leaderboardOutcomeTypeMasterId":{"type":"number","description":"Updated leaderboard outcome type master ID","example":1},"sourceTypeId":{"type":"number","description":"Updated source type ID","example":1},"customStatisticId":{"type":"string","description":"Updated custom statistic ID","example":"stat-uuid-12345"},"defaultStatisticId":{"type":"string","description":"Updated default statistic ID","example":"default-stat-uuid"},"prizeDistributionRule":{"description":"Updated prize distribution rules","type":"array","items":{"$ref":"#/components/schemas/PrizeDistributionRuleDto"}}},"required":["id","projectId"]},"GetLeaderboardDto":{"type":"object","properties":{"ids":{"description":"Array of leaderboard IDs to filter by","example":["lb-uuid-1","lb-uuid-2"],"type":"array","items":{"type":"string"}},"offset":{"type":"number","description":"Number of records to skip for pagination","example":0},"limit":{"type":"number","description":"Maximum number of records to return","example":10},"search":{"type":"string","description":"Search keyword to filter by name","example":"weekly"},"sourceTypeId":{"type":"number","description":"Filter by source type ID","example":1},"leaderboardOutcomeTypeMasterId":{"type":"number","description":"Filter by leaderboard outcome type master ID","example":1},"isRecurring":{"type":"boolean","description":"Filter by recurring status","example":true},"isPrizeConfigured":{"type":"boolean","description":"Filter by prize configuration status","example":true},"sortField":{"type":"string","description":"Field to sort by","example":"createdAt"},"sortOrder":{"type":"string","description":"Sort order (asc or desc)","example":"desc"},"projectId":{"type":"string","description":"Project ID to get leaderboards for","example":"proj-uuid-12345"},"status":{"description":"Filter by status","example":["active","scheduled"],"type":"array","items":{"type":"string"}},"recurrenceFrequency":{"type":"number","description":"Filter by recurrence frequency","example":7},"intervalUnitId":{"type":"number","description":"Filter by interval unit ID","example":1},"startDate":{"type":"string","description":"Filter by start date","example":"2024-01-01"},"endDate":{"type":"string","description":"Filter by end date","example":"2024-12-31"},"scheduleType":{"type":"string","description":"Filter by schedule type","enum":["normal","recurring"],"example":"recurring"},"instanceStatus":{"description":"Filter by instance status","example":["live","upcoming"],"type":"array","items":{"type":"string"}},"showArchived":{"type":"boolean","description":"Whether to include archived leaderboards","example":false}},"required":["projectId"]},"GetClientLeaderboardsDto":{"type":"object","properties":{}},"GetClientLeaderboardsV2Dto":{"type":"object","properties":{}},"getLeaderboardDetailsDto":{"type":"object","properties":{}},"GetClientLeaderboardDetailsDto":{"type":"object","properties":{}},"GetLeaderboardResultDto":{"type":"object","properties":{}},"SendScoreToLeaderboardDto":{"type":"object","properties":{}},"DeleteLeaderboardDto":{"type":"object","properties":{}},"GetLeaderboardRankingsV2Dto":{"type":"object","properties":{}},"GetLeaderboardResultV2Dto":{"type":"object","properties":{}},"UpdateWalletDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the wallet update","example":"update-id-123"},"operation":{"type":"string","description":"Operation type to perform on wallet balance","example":"add","enum":["add","subtract"]},"currencyId":{"type":"string","description":"Currency ID for the wallet update","example":"currency-id-123"},"amount":{"type":"number","description":"Amount to add or subtract","example":100},"specterParams":{"type":"object","description":"Optional Specter parameters","example":{"key":"value"}},"customParams":{"type":"object","description":"Optional custom parameters","example":{"key":"value"}}},"required":["operation","currencyId","amount"]},"UpdateWalletBalanceV2Dto":{"type":"object","properties":{"operation":{"type":"string","description":"Operation type to perform on wallet balance","example":"add","enum":["add","subtract"]},"currencyId":{"type":"string","description":"Currency ID for the wallet update","example":"currency-id-123"},"walletType":{"type":"string","description":"Wallet type to update","example":"virtual","enum":["virtual","rm_deposit","rm_winning","rm_bonus"]},"amount":{"type":"number","description":"Amount to add or subtract","example":100},"customParams":{"type":"object","description":"Optional custom parameters","example":{"key":"value"}}},"required":["operation","currencyId","walletType","amount"]},"GetWalletDto":{"type":"object","properties":{"currencyIds":{"description":"Array of currency IDs to filter by","example":["currency-id-1","currency-id-2"],"type":"array","items":{"type":"string"}},"offset":{"type":"number","description":"Number of records to skip for pagination","example":0},"limit":{"type":"number","description":"Maximum number of records to return","example":10},"sortField":{"type":"string","description":"Field name to sort by","example":"createdAt"},"sortOrder":{"type":"string","description":"Sort order direction","example":"asc"}}},"GetMyWalletBalanceV2Dto":{"type":"object","properties":{"type":{"description":"Wallet type(s) to filter by","example":["virtual","rm_deposit"],"type":"array","items":{"type":"string"}},"currencyIds":{"description":"Array of currency IDs to retrieve balance for","example":["currency-id-1","currency-id-2"],"type":"array","items":{"type":"string"}},"offset":{"type":"number","description":"Number of records to skip for pagination","example":0},"limit":{"type":"number","description":"Maximum number of records to return","example":10}},"required":["currencyIds"]},"GetPlayerWalletBalanceV2Dto":{"type":"object","properties":{"userId":{"type":"string","description":"User ID to retrieve wallet balance for","example":"user-id-123"},"currencyIds":{"description":"Array of currency IDs to retrieve balance for","example":["currency-id-1","currency-id-2"],"type":"array","items":{"type":"string"}},"type":{"description":"Wallet type(s) to filter by","example":["virtual","rm_deposit"],"type":"array","items":{"type":"string"}},"offset":{"type":"number","description":"Number of records to skip for pagination","example":0},"limit":{"type":"number","description":"Maximum number of records to return","example":10},"sortField":{"type":"string","description":"Field name to sort by","example":"createdAt"},"sortOrder":{"type":"string","description":"Sort order direction","example":"asc"}},"required":["userId","currencyIds"]},"ConvertCurrencyDto":{"type":"object","properties":{"sourceCurrencyId":{"type":"string","description":"Source currency ID to convert from","example":"source-currency-id"},"targetCurrencyId":{"type":"string","description":"Target currency ID to convert to","example":"target-currency-id"},"amount":{"type":"number","description":"Amount to convert","example":100}},"required":["sourceCurrencyId","targetCurrencyId","amount"]},"PolicyDetails":{"type":"object","properties":{"active":{"type":"boolean","description":"Is policy active","example":true},"entity":{"type":"string","description":"Entity type","enum":["currency","wallet"],"example":"wallet"},"entitySubType":{"type":"string","description":"Entity sub-type","enum":["deposit","winning","bonus","currency_debit","currency_credit","balance_limits","currency_decay","earning_caps"],"example":"balance_limits"},"rules":{"type":"object","description":"Policy rules configuration","example":{"maxBalance":10000,"minBalance":0}}},"required":["entity","entitySubType"]},"CreatePolicy":{"type":"object","properties":{"projectId":{"type":"string","description":"Project ID","example":"proj-uuid-12345"},"currencyId":{"type":"number","description":"Currency ID","example":1},"policyDetails":{"description":"Array of policy details","type":"array","items":{"$ref":"#/components/schemas/PolicyDetails"}}},"required":["projectId","currencyId","policyDetails"]},"EditPolicy":{"type":"object","properties":{"policyDetails":{"description":"Array of policy details to edit","type":"array","items":{"$ref":"#/components/schemas/PolicyDetails"}}},"required":["policyDetails"]},"CreateBalanceLimitsPolicyDto":{"type":"object","properties":{}},"CreateCurrencyDecayPolicyDto":{"type":"object","properties":{}},"CreateEarningCapsPolicyDto":{"type":"object","properties":{}},"GetCurrencyPolicyDto":{"type":"object","properties":{"projectId":{"type":"string","description":"Project ID","example":"proj-uuid-12345"},"currencyId":{"type":"number","description":"Filter by currency ID","example":1},"search":{"type":"string","description":"Search keyword","example":"gold"},"limit":{"type":"number","description":"Number of records to return","example":10},"offset":{"type":"number","description":"Pagination offset","example":0}},"required":["projectId"]},"CreateCurrencyConversionDto":{"type":"object","properties":{"sourceCurrencyId":{"type":"number","description":"Internal ID of the source currency","example":1},"targetCurrencyId":{"type":"number","description":"Internal ID of the target currency","example":2},"conversionRate":{"type":"number","description":"Conversion rate from source to target currency (e.g., 0.1 means 10 source = 1 target)","example":0.1,"minimum":1e-10,"maximum":1000000},"conversionFee":{"type":"number","description":"Fee percentage charged on conversion (0-100)","example":5,"minimum":0,"maximum":100},"isEnabled":{"type":"boolean","description":"Whether this conversion is enabled","example":true},"projectId":{"type":"string","description":"Project ID this conversion belongs to","example":"proj-uuid-12345"}},"required":["sourceCurrencyId","targetCurrencyId","conversionRate","projectId"]},"UpdateCurrencyConversionDto":{"type":"object","properties":{"id":{"type":"number","description":"Internal ID of the currency conversion to update","example":1},"conversionRate":{"type":"number","description":"Updated conversion rate from source to target currency","example":0.15,"minimum":1e-10,"maximum":1000000},"conversionFee":{"type":"number","description":"Updated fee percentage charged on conversion (0-100)","example":3,"minimum":0,"maximum":100},"isEnabled":{"type":"boolean","description":"Whether this conversion is enabled","example":true}},"required":["id"]},"GetCurrencyConversionsDto":{"type":"object","properties":{"projectId":{"type":"string","description":"Project ID to get currency conversions for","example":"proj-uuid-12345"},"offset":{"type":"number","description":"Number of records to skip for pagination","example":0},"limit":{"type":"number","description":"Maximum number of records to return","example":10},"search":{"type":"string","description":"Search keyword to filter by currency name","example":"gold"},"sortField":{"type":"string","description":"Field to sort by","example":"createdAt"},"sortOrder":{"type":"string","description":"Sort order (asc or desc)","example":"desc"}},"required":["projectId"]},"UpdateProgressionWalletDto":{"type":"object","properties":{}},"GetPlayerProgressDto":{"type":"object","properties":{}},"CreateProgressionDto":{"type":"object","properties":{}},"GetMyProgressV2Dto":{"type":"object","properties":{}},"CreateUgcLeaderboardDto":{"type":"object","properties":{"projectId":{"type":"string","description":"Project this LB belongs to.","example":"proj-uuid-12345"},"ugcLeaderboardId":{"type":"string","description":"Stable slug clients reference (unique per project).","example":"riff-scores"},"name":{"type":"string","description":"Admin-facing display name.","example":"Riff High Scores"},"description":{"type":"string","description":"Long-form description."},"iconUrl":{"type":"string","description":"Icon URL."},"leaderboardOutcomeDetails":{"type":"object","description":"Free-form JSON capturing outcome semantics for the admin UI."},"startDate":{"type":"string","description":"Start datetime (ISO string)."},"endDate":{"type":"string","description":"End datetime (ISO string)."},"isRecurring":{"type":"boolean","description":"Recurring schedule flag.","default":false},"leaderboardOutcomeTypeMasterId":{"type":"number","description":"Sort + aggregate semantics. FK to leaderboard_outcome_master (1=HIGH_SCORE, 2=TIME_TRIAL, 5=CUMULATIVE_SCORE).","example":1},"intervalId":{"type":"number","description":"FK to leaderboard_interval (cycle unit)."},"sourceTypeId":{"type":"number","description":"Source type. UGC LBs support 2 (STATISTICS) and 3 (CUSTOM). MATCH (1) is rejected at create.","enum":[2,3],"example":3},"customStatisticId":{"type":"string","description":"FK to app_events_custom_parameters when sourceType=STATISTICS."},"defaultStatisticId":{"type":"string","description":"FK to app_events_default_parameters when sourceType=STATISTICS."},"prizeDistributionRule":{"description":"Per-rank-range payouts applied at cycle close, per contentId. Same JSON shape as Leaderboard.prizeDistributionRule.","example":[{"rank":[1,1],"rewards":[{"currencyId":1241,"quantity":500}]}],"type":"array","items":{"type":"string"}},"dynamicPrizeDistributionRule":{"description":"Dynamic prize-rule (admin-managed at runtime).","type":"array","items":{"type":"string"}},"prizeDistributionOffset":{"type":"number","description":"Milliseconds to delay the cycle-close worker after instance closes.","example":0},"meta":{"type":"object","description":"Free-form metadata."},"tags":{"description":"Tags for admin filtering.","type":"array","items":{"type":"string"}},"active":{"type":"boolean","description":"Soft-disable without delete.","default":true}},"required":["projectId","ugcLeaderboardId","name","leaderboardOutcomeTypeMasterId","sourceTypeId"]},"EditUgcLeaderboardDto":{"type":"object","properties":{"id":{"type":"string","description":"Row UUID."},"projectId":{"type":"string","description":"Project this LB belongs to."},"ugcLeaderboardId":{"type":"string","description":"Stable slug clients reference (unique per project)."},"name":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"leaderboardOutcomeDetails":{"type":"object"},"startDate":{"type":"string"},"endDate":{"type":"string"},"isRecurring":{"type":"boolean"},"leaderboardOutcomeTypeMasterId":{"type":"number"},"intervalId":{"type":"number"},"sourceTypeId":{"type":"number","enum":[2,3]},"customStatisticId":{"type":"string"},"defaultStatisticId":{"type":"string"},"prizeDistributionRule":{"type":"array","items":{"type":"string"}},"dynamicPrizeDistributionRule":{"type":"array","items":{"type":"string"}},"prizeDistributionOffset":{"type":"number"},"meta":{"type":"object"},"tags":{"type":"array","items":{"type":"string"}},"active":{"type":"boolean"}},"required":["id","projectId"]},"GetUgcLeaderboardsDto":{"type":"object","properties":{"projectId":{"type":"string","description":"Project scope.","example":"proj-uuid-12345"},"ids":{"description":"Filter by UUID or slug. Empty array = no filter.","type":"array","items":{"type":"string"}},"search":{"type":"string","description":"Case-insensitive substring match on name / slug."},"limit":{"type":"number","default":50},"offset":{"type":"number","default":0}},"required":["projectId"]},"DeleteUgcLeaderboardDto":{"type":"object","properties":{"id":{"type":"string","description":"UGC leaderboard row UUID to archive."},"projectId":{"type":"string","description":"Project scope — guard against cross-project deletes."}},"required":["id","projectId"]},"GetUgcContentRankingsDto":{"type":"object","properties":{"projectId":{"type":"string"},"ugcLeaderboardId":{"type":"string","example":"riff-scores"},"contentId":{"type":"string"},"scheduleInstanceId":{"type":"string"},"page":{"type":"number","default":1},"limit":{"type":"number","default":100,"maximum":500}},"required":["projectId","ugcLeaderboardId","contentId"]},"GetUgcContentListDto":{"type":"object","properties":{"projectId":{"type":"string"},"ugcLeaderboardId":{"type":"string"},"scheduleInstanceId":{"type":"string"},"sort":{"type":"string","description":"Sort key.","enum":["entries_desc","top_score_desc","latest"]},"page":{"type":"number","default":1},"limit":{"type":"number","default":50,"maximum":200}},"required":["projectId","ugcLeaderboardId"]},"GetUgcJobHistoryDto":{"type":"object","properties":{"projectId":{"type":"string"},"ugcLeaderboardId":{"type":"string","description":"Filter to one LB; omit to see all in the project."},"status":{"type":"string","description":"Filter by run status.","enum":["queued","in_progress","completed","failed","partial"]},"limit":{"type":"number","default":25,"maximum":100},"offset":{"type":"number","default":0}},"required":["projectId"]},"TriggerCycleCloseDto":{"type":"object","properties":{"projectId":{"type":"string"},"ugcLeaderboardId":{"type":"string","description":"UGC leaderboard UUID."},"leaderboardInstanceId":{"type":"string","description":"Schedule instance UUID to close out."}},"required":["projectId","ugcLeaderboardId","leaderboardInstanceId"]},"PostUgcScoreDto":{"type":"object","properties":{"ugcLeaderboardId":{"type":"string","description":"UGC LB slug.","example":"riff-scores"},"contentId":{"type":"string","description":"Discriminator for which piece of content this score belongs to.","example":"rf-abc123"},"score":{"type":"number","description":"Score value. Aggregation determined by the LB's outcome type.","example":9500},"specterParams":{"type":"object","description":"Specter-reserved metadata, forwarded to task validation."},"customParams":{"type":"object","description":"Client-defined metadata, forwarded to task validation."}},"required":["ugcLeaderboardId","contentId","score"]},"GetUgcRankingsDto":{"type":"object","properties":{"ugcLeaderboardId":{"type":"string","example":"riff-scores"},"contentId":{"type":"string","example":"rf-abc123"},"scheduleInstanceId":{"type":"string","description":"Specific cycle to query. Omit for the in-progress instance."},"page":{"type":"number","default":1},"limit":{"type":"number","default":50,"maximum":200}},"required":["ugcLeaderboardId","contentId"]},"GetUgcContentSummaryDto":{"type":"object","properties":{"ugcLeaderboardId":{"type":"string","example":"riff-scores"},"contentIds":{"description":"Up to 200 contentIds to summarize in one call.","example":["rf-1","rf-2","rf-3"],"type":"array","items":{"type":"string"}},"scheduleInstanceId":{"type":"string"}},"required":["ugcLeaderboardId","contentIds"]},"GetUgcUserBestsDto":{"type":"object","properties":{"ugcLeaderboardId":{"type":"string","example":"riff-scores"},"userId":{"type":"string","description":"Defaults to the bearer's userId."},"contentIds":{"description":"Optional filter — defaults to \"all contentIds the user has scored on\".","type":"array","items":{"type":"string"}},"scheduleInstanceId":{"type":"string"}},"required":["ugcLeaderboardId"]},"GetUgcMyContentFeedDto":{"type":"object","properties":{"ugcLeaderboardId":{"type":"string","example":"riff-scores"},"scheduleInstanceId":{"type":"string"},"page":{"type":"number","default":1},"limit":{"type":"number","default":25,"maximum":100}},"required":["ugcLeaderboardId"]},"ListPublicUgcLeaderboardsDto":{"type":"object","properties":{"limit":{"type":"number","default":50},"offset":{"type":"number","default":0}}},"AddCurrenciesDto":{"type":"object","properties":{"name":{"type":"string","description":"Currency display name","example":"Gold Coins"},"description":{"type":"string","description":"Currency description","example":"In-game currency for purchases"},"currencyId":{"type":"string","description":"Unique currency identifier","example":"gold-coins"},"rarityId":{"type":"number","description":"Rarity ID for the currency","example":1},"projectId":{"type":"string","description":"Project ID the currency belongs to","example":"proj-12345-abcde"},"organisationId":{"type":"string","description":"Organisation ID","example":"org-12345-abcde"},"code":{"type":"string","description":"Currency code (short identifier)","example":"GLD"},"iconUrl":{"type":"string","description":"URL to currency icon","example":"https://cdn.example.com/icons/gold.png"},"type":{"type":"string","description":"Currency type","enum":["real","virtual"],"example":"virtual"},"tags":{"description":"Array of tag names","example":["premium","earnable"],"type":"array","items":{"type":"string"}},"meta":{"type":"object","description":"Custom metadata object","example":{"exchangeRate":100}}},"required":["name","currencyId","projectId","type"]},"EditCurrenciesDto":{"type":"object","properties":{"id":{"type":"number","description":"Currency ID to update","example":1},"name":{"type":"string","description":"Updated currency name","example":"Gold Coins"},"description":{"type":"string","description":"Updated currency description","example":"In-game currency for purchases"},"rarityId":{"type":"number","description":"Updated rarity ID","example":2},"currencyId":{"type":"string","description":"Updated currency identifier","example":"gold-coins-v2"},"projectId":{"type":"string","description":"Project ID","example":"proj-12345-abcde"},"code":{"type":"string","description":"Updated currency code","example":"GLD"},"iconUrl":{"type":"string","description":"Updated icon URL","example":"https://cdn.example.com/icons/gold-v2.png"},"type":{"type":"string","description":"Currency type","enum":["real","virtual"],"example":"virtual"},"archive":{"type":"boolean","description":"Archive the currency","example":false},"tags":{"description":"Updated tags","example":["premium"],"type":"array","items":{"type":"string"}},"meta":{"type":"object","description":"Updated metadata","example":{"exchangeRate":150}}},"required":["id"]},"GetCurrenciesDto":{"type":"object","properties":{"ids":{"description":"Filter by specific currency IDs","example":["gold-coins","gems"],"type":"array","items":{"type":"string"}},"types":{"description":"Filter by currency types","example":["virtual"],"type":"array","items":{"type":"string"}},"offset":{"type":"number","description":"Number of records to skip for pagination","example":0},"limit":{"type":"number","description":"Maximum number of records to return","example":20},"search":{"type":"string","description":"Search keyword to filter currencies by name","example":"gold"},"sortField":{"type":"string","description":"Field to sort by","example":"name"},"sortOrder":{"type":"string","description":"Sort order (ASC or DESC)","example":"ASC"},"projectId":{"type":"string","description":"Project ID to fetch currencies for","example":"proj-12345-abcde"},"showArchived":{"type":"boolean","description":"Include archived currencies in results","example":false}},"required":["projectId"]},"GetMasterCurrenciesDto":{"type":"object","properties":{}},"GetMasterCurrenciesV2Dto":{"type":"object","properties":{}},"CreateProgressionMarkerDto":{"type":"object","properties":{"name":{"type":"string","description":"Name of the progression marker","example":"XP Points"},"description":{"type":"string","description":"Description of the progression marker","example":"Experience points earned by players"},"iconUrl":{"type":"string","description":"Icon URL for the progression marker","example":"https://example.com/icon.png"},"projectId":{"type":"string","description":"Project ID","example":"proj-uuid-12345"},"progressionMarkerId":{"type":"object","description":"External progression marker ID","example":"marker-ext-123"},"tags":{"description":"Tags associated with the marker","example":["gameplay","rewards"],"type":"array","items":{"type":"string"}},"meta":{"type":"object","description":"Additional metadata"},"rarityId":{"type":"number","description":"Rarity ID for gacha selection","example":1}},"required":["name","projectId"]},"EditProgressionMarkerDto":{"type":"object","properties":{"id":{"type":"number","description":"ID of the progression marker to edit","example":1},"name":{"type":"string","description":"Name of the progression marker","example":"XP Points"},"description":{"type":"string","description":"Description of the progression marker","example":"Experience points earned by players"},"iconUrl":{"type":"string","description":"Icon URL for the progression marker","example":"https://example.com/icon.png"},"projectId":{"type":"string","description":"Project ID","example":"proj-uuid-12345"},"progressionMarkerId":{"type":"object","description":"External progression marker ID","example":"marker-ext-123"},"tags":{"description":"Tags associated with the marker","example":["gameplay","rewards"],"type":"array","items":{"type":"string"}},"meta":{"type":"object","description":"Additional metadata"},"rarityId":{"type":"number","description":"Rarity ID for gacha selection","example":1}},"required":["id","projectId"]},"DeleteProgressionMarkerDto":{"type":"object","properties":{"id":{"type":"number","description":"ID of the progression marker to delete","example":1},"projectId":{"type":"string","description":"Project ID","example":"proj-uuid-12345"}},"required":["id","projectId"]},"GetProgressionMarker":{"type":"object","properties":{"ids":{"description":"Filter by progression marker IDs","example":[1,2,3],"type":"array","items":{"type":"string"}},"offset":{"type":"number","description":"Pagination offset","example":0},"limit":{"type":"number","description":"Number of records to return","example":10},"search":{"type":"string","description":"Search keyword","example":"xp"},"projectId":{"type":"string","description":"Project ID","example":"proj-uuid-12345"},"sortField":{"type":"string","description":"Field to sort by","example":"createdAt"},"sortOrder":{"type":"string","description":"Sort order","example":"DESC","enum":["ASC","DESC"]},"showArchived":{"type":"boolean","description":"Show archived markers","example":false}},"required":["ids","offset","limit","projectId"]},"GetMarkerDto":{"type":"object","properties":{"progressionMarkerIds":{"description":"Filter by progression marker IDs","example":["marker-uuid-1","marker-uuid-2"],"type":"array","items":{"type":"string"}},"attributes":{"description":"Attributes to include in response","example":["name","description"],"type":"array","items":{"type":"string"}},"offset":{"type":"number","description":"Pagination offset","example":0},"limit":{"type":"number","description":"Number of records to return","example":10},"search":{"type":"string","description":"Search keyword","example":"xp"},"includeTags":{"description":"Filter by tags","example":["gameplay","rewards"],"type":"array","items":{"type":"string"}}}},"LevelRewards":{"type":"object","properties":{"id":{"type":"string","description":"Reward item ID","example":"item-uuid-12345"},"quantity":{"type":"number","description":"Quantity of the reward","example":10}},"required":["id","quantity"]},"RewardDetails":{"type":"object","properties":{"items":{"description":"Item rewards","type":"array","items":{"$ref":"#/components/schemas/LevelRewards"}},"bundles":{"description":"Bundle rewards","type":"array","items":{"$ref":"#/components/schemas/LevelRewards"}},"rewardSets":{"description":"Reward set rewards","type":"array","items":{"$ref":"#/components/schemas/LevelRewards"}},"currencies":{"description":"Currency rewards","type":"array","items":{"$ref":"#/components/schemas/LevelRewards"}},"progressionMarkers":{"description":"Progression marker rewards","type":"array","items":{"$ref":"#/components/schemas/LevelRewards"}}},"required":["items","bundles","rewardSets","currencies","progressionMarkers"]},"LevelDetails":{"type":"object","properties":{"no":{"type":"number","description":"Level number","example":1},"name":{"type":"string","description":"Level name","example":"Beginner"},"incrementalParameterValue":{"type":"number","description":"Incremental parameter value needed for this level","example":100},"cumulativeParameterValue":{"type":"number","description":"Cumulative parameter value needed for this level","example":100},"rewardDetails":{"description":"Rewards for reaching this level","allOf":[{"$ref":"#/components/schemas/RewardDetails"}]},"archive":{"type":"boolean","description":"Is level archived","example":false}},"required":["no","name","incrementalParameterValue","cumulativeParameterValue","rewardDetails"]},"CreateLevelSystemDto":{"type":"object","properties":{"projectId":{"type":"string","description":"Project ID","example":"proj-uuid-12345"},"levelSystemId":{"type":"string","description":"External level system ID","example":"level-sys-ext-123"},"iconUrl":{"type":"object","description":"Icon URL","example":"https://example.com/icon.png"},"name":{"type":"string","description":"Level system name","example":"Player Rank System"},"description":{"type":"string","description":"Level system description","example":"Track player progression through ranks"},"progressionMarkerId":{"type":"number","description":"Progression marker ID to track","example":1},"appEventId":{"type":"string","description":"App event ID to track","example":"event-uuid-12345"},"levelSystemTypeId":{"type":"number","description":"Level system type (1 = XP-based, 2 = Event-based)","enum":[1,2],"example":1},"levelDetails":{"description":"Array of level details","type":"array","items":{"$ref":"#/components/schemas/LevelDetails"}},"rewardGrantScheduleType":{"type":"string","description":"Reward grant schedule type","enum":["on-completion","custom"],"example":"on-completion"},"rewardGrantTime":{"type":"string","description":"Reward grant time for custom schedule","example":"10:00"},"rewardGrantDay":{"type":"string","description":"Reward grant day for custom schedule","example":"Monday"},"tags":{"description":"Tags associated with level system","example":["gameplay","progression"],"type":"array","items":{"type":"string"}},"meta":{"type":"object","description":"Additional metadata"}},"required":["projectId","name","levelSystemTypeId","levelDetails","rewardGrantScheduleType"]},"GetLevelSystemDto":{"type":"object","properties":{"ids":{"description":"Filter by level system IDs","example":["level-uuid-1","level-uuid-2"],"type":"array","items":{"type":"string"}},"typeIds":{"description":"Filter by type IDs","example":[1,2],"type":"array","items":{"type":"string"}},"limit":{"type":"number","description":"Number of records to return","example":10},"offset":{"type":"number","description":"Pagination offset","example":0},"search":{"type":"string","description":"Search keyword","example":"rank"},"projectId":{"type":"string","description":"Project ID","example":"proj-uuid-12345"},"sortField":{"type":"string","description":"Field to sort by","example":"createdAt"},"sortOrder":{"type":"string","description":"Sort order","example":"DESC","enum":["ASC","DESC"]},"showArchived":{"type":"boolean","description":"Show archived level systems","example":false}},"required":["projectId"]},"EditLevelSystemDto":{"type":"object","properties":{"projectId":{"type":"string","description":"Project ID","example":"proj-uuid-12345"},"levelSystemId":{"type":"string","description":"External level system ID","example":"level-sys-ext-123"},"iconUrl":{"type":"object","description":"Icon URL","example":"https://example.com/icon.png"},"id":{"type":"string","description":"Level system ID to edit","example":"level-uuid-12345"},"name":{"type":"string","description":"Level system name","example":"Player Rank System"},"description":{"type":"string","description":"Level system description","example":"Track player progression through ranks"},"progressionMarkerId":{"type":"number","description":"Progression marker ID to track","example":1},"appEventId":{"type":"string","description":"App event ID to track","example":"event-uuid-12345"},"levelSystemTypeId":{"type":"number","description":"Level system type (1 = XP-based, 2 = Event-based)","enum":[1,2],"example":1},"levelDetails":{"description":"Array of level details","type":"array","items":{"$ref":"#/components/schemas/LevelDetails"}},"rewardGrantScheduleType":{"type":"string","description":"Reward grant schedule type","enum":["on-completion","custom"],"example":"on-completion"},"rewardGrantTime":{"type":"string","description":"Reward grant time for custom schedule","example":"10:00"},"rewardGrantDay":{"type":"string","description":"Reward grant day for custom schedule","example":"Monday"},"tags":{"description":"Tags associated with level system","example":["gameplay","progression"],"type":"array","items":{"type":"string"}},"meta":{"type":"object","description":"Additional metadata"}},"required":["projectId","id"]},"GetProgressionSystemDto":{"type":"object","properties":{"progressionSystemIds":{"type":"object","description":"Array of progression system IDs","example":[1,2,3]},"attributes":{"type":"object","description":"Attributes to include","example":["xp","level"]},"limit":{"type":"number","description":"Limit for pagination","example":10},"offset":{"type":"number","description":"Offset for pagination","example":0},"entities":{"description":"Array of entities","type":"array","items":{"$ref":"#/components/schemas/Entities"}},"includeTags":{"description":"Tags to include","example":["beginner","advanced"],"type":"array","items":{"type":"string"}}}},"GetProgressionSystemMasterV2Dto":{"type":"object","properties":{}},"PlayerData":{"type":"object","properties":{"key":{"type":"string","description":"Key for the player data","example":"level"},"value":{"type":"object","description":"Value for the player data","example":{"level":5}}},"required":["key","value"]},"UpdatePlayerDataDto":{"type":"object","properties":{"playerData":{"description":"Array of player data to update","type":"array","items":{"$ref":"#/components/schemas/PlayerData"}},"permission":{"type":"string","description":"Permission level","example":"public"}},"required":["playerData"]},"UpdateOtherPlayerDataV2Dto":{"type":"object","properties":{"userId":{"type":"string","description":"User ID","example":"user123"},"playerData":{"description":"Array of player data to update","type":"array","items":{"$ref":"#/components/schemas/PlayerData"}}},"required":["userId","playerData"]},"RemoveOtherPlayerDataV2Dto":{"type":"object","properties":{"userId":{"type":"string","description":"User ID","example":"user123"},"keysToRemove":{"description":"Array of keys to remove from player data","example":["level","score"],"type":"array","items":{"type":"string"}}},"required":["userId","keysToRemove"]},"GetPlayerDataDto":{"type":"object","properties":{"keys":{"description":"Array of keys to retrieve from player data","example":["level","score"],"type":"array","items":{"type":"string"}},"userId":{"type":"string","description":"User ID","example":"user123"}}},"SearchUserDto":{"type":"object","properties":{"search":{"type":"string","description":"Search query string","example":"johndoe"},"searchBy":{"type":"string","description":"Field to search by","example":"username","enum":["username"]},"limit":{"type":"number","description":"Limit for pagination","example":10},"offset":{"type":"number","description":"Offset for pagination","example":0}},"required":["search","searchBy"]},"Filter":{"type":"object","properties":{"type":{"type":"string","description":"Filter type","example":"username","enum":["username","firstName","lastName","email","customId","displayName"]},"value":{"type":"string","description":"Filter value","example":"johndoe"}},"required":["type","value"]},"GetPlayersV2Dto":{"type":"object","properties":{"filters":{"description":"Array of filters to apply","type":"array","items":{"$ref":"#/components/schemas/Filter"}},"limit":{"type":"number","description":"Limit for pagination","example":10},"offset":{"type":"number","description":"Offset for pagination","example":0}}},"DeleteUserDto":{"type":"object","properties":{"userId":{"type":"string","description":"User ID","example":"user123"},"projectId":{"type":"string","description":"Project ID","example":"proj123"},"customId":{"type":"string","description":"Custom ID","example":"custom123"}},"required":["projectId"]},"FireCustomEventDto":{"type":"object","properties":{"userId":{"type":"string","description":"User ID","example":"user123"},"eventId":{"type":"string","description":"Event ID to fire","example":"event123"},"specterParams":{"type":"object","description":"Specter parameters","example":{"param1":"value1"}},"customParams":{"type":"object","description":"Custom parameters","example":{"custom1":"value1"}}},"required":["eventId"]},"GetServerTimeDto":{"type":"object","properties":{"timezone":{"type":"string","description":"Timezone for server time","example":"America/New_York"}}},"RemovePlayerDataDto":{"type":"object","properties":{"keysToRemove":{"description":"Array of keys to remove from player data","example":["level","score"],"type":"array","items":{"type":"string"}}},"required":["keysToRemove"]},"SignupWithEmailDto":{"type":"object","properties":{"email":{"type":"string","description":"Email address","example":"john@example.com"},"password":{"type":"string","description":"Password","example":"password123"},"referralCode":{"type":"string","description":"Referral code","example":"REF123"},"meta":{"type":"string","description":"Additional metadata","example":{"device":"ios"}},"includePlayerData":{"type":"boolean","description":"Include player data in response","example":false},"includeEquipItem":{"type":"boolean","description":"Include equipped items in response","example":false},"specterParams":{"type":"object","description":"Specter parameters","example":{"param1":"value1"}},"customParams":{"type":"object","description":"Custom parameters","example":{"custom1":"value1"}}},"required":["email","password"]},"SignupWithUsernameDto":{"type":"object","properties":{"username":{"type":"string","description":"Username","example":"johndoe"},"referralCode":{"type":"string","description":"Referral code","example":"REF123"},"password":{"type":"string","description":"Password","example":"password123"},"meta":{"type":"string","description":"Additional metadata","example":{"device":"ios"}},"includePlayerData":{"type":"boolean","description":"Include player data in response","example":false},"includeEquipItem":{"type":"boolean","description":"Include equipped items in response","example":false},"specterParams":{"type":"object","description":"Specter parameters","example":{"param1":"value1"}},"customParams":{"type":"object","description":"Custom parameters","example":{"custom1":"value1"}}},"required":["username","password"]},"LoginWithEmailDto":{"type":"object","properties":{"email":{"type":"string","description":"Email address","example":"john@example.com"},"password":{"type":"string","description":"Password","example":"password123"},"createAccount":{"type":"boolean","description":"Whether to create account if it does not exist","example":true},"meta":{"type":"string","description":"Additional metadata","example":{"device":"ios"}},"includePlayerData":{"type":"boolean","description":"Include player data in response","example":false},"includeEquipItem":{"type":"boolean","description":"Include equipped items in response","example":false},"specterParams":{"type":"object","description":"Specter parameters","example":{"param1":"value1"}},"customParams":{"type":"object","description":"Custom parameters","example":{"custom1":"value1"}}},"required":["email","password","createAccount"]},"LoginWithUsernameDto":{"type":"object","properties":{"username":{"type":"string","description":"Username","example":"johndoe"},"password":{"type":"string","description":"Password","example":"password123"},"createAccount":{"type":"boolean","description":"Whether to create account if it does not exist","example":true},"meta":{"type":"string","description":"Additional metadata","example":{"device":"ios"}},"includePlayerData":{"type":"boolean","description":"Include player data in response","example":false},"includeEquipItem":{"type":"boolean","description":"Include equipped items in response","example":false},"specterParams":{"type":"object","description":"Specter parameters","example":{"param1":"value1"}},"customParams":{"type":"object","description":"Custom parameters","example":{"custom1":"value1"}}},"required":["username","password","createAccount"]},"LoginWithCustomIdDto":{"type":"object","properties":{"customId":{"type":"string","description":"Custom ID for login","example":"custom123"},"createAccount":{"type":"boolean","description":"Whether to create account if it does not exist","example":true},"includePlayerData":{"type":"boolean","description":"Include player data in response","example":false},"includeEquipItem":{"type":"boolean","description":"Include equipped items in response","example":false},"paramDetails":{"type":"object","description":"Parameter details","example":{"param1":"value1"}},"specterParams":{"type":"object","description":"Specter parameters","example":{"param1":"value1"}},"customParams":{"type":"object","description":"Custom parameters","example":{"custom1":"value1"}}},"required":["customId","createAccount"]},"SignUpWithCustomIdDto":{"type":"object","properties":{"customId":{"type":"string","description":"Custom ID for signup","example":"custom123"},"referralCode":{"type":"string","description":"Referral code","example":"REF123"},"meta":{"type":"object","description":"Additional metadata","example":{"device":"ios"}},"includePlayerData":{"type":"boolean","description":"Include player data in response","example":false},"includeEquipItem":{"type":"boolean","description":"Include equipped items in response","example":false},"specterParams":{"type":"object","description":"Specter parameters","example":{"param1":"value1"}},"customParams":{"type":"object","description":"Custom parameters","example":{"custom1":"value1"}}},"required":["customId"]},"RefreshAccessTokenDto":{"type":"object","properties":{"entityToken":{"type":"string","description":"Entity token for authentication","example":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."},"expiringAccessToken":{"type":"string","description":"Expiring access token to be refreshed","example":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."}},"required":["entityToken","expiringAccessToken"]},"ValidateTokenDto":{"type":"object","properties":{"entityToken":{"type":"string","description":"Entity token","example":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."},"accessToken":{"type":"string","description":"Access token to validate","example":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."}},"required":["accessToken"]},"UpdateUserDto":{"type":"object","properties":{"firstName":{"type":"string","description":"First name","example":"John"},"lastName":{"type":"string","description":"Last name","example":"Doe"},"username":{"type":"string","description":"Username","example":"johndoe"},"displayName":{"type":"string","description":"Display name","example":"John D."},"thumbUrl":{"type":"string","description":"Thumbnail URL","example":"https://example.com/thumb.jpg"},"isKycComplete":{"type":"boolean","description":"KYC completion status","example":true},"birthdate":{"type":"string","description":"Birthdate","example":"1990-01-01"},"tags":{"description":"User tags","example":["vip","premium"],"type":"array","items":{"type":"string"}},"specterParams":{"type":"object","description":"Specter parameters","example":{"param1":"value1"}},"customParams":{"type":"object","description":"Custom parameters","example":{"custom1":"value1"}}}},"LinkUserAccounts":{"type":"object","properties":{"type":{"type":"string","description":"Account type to link","example":"google","enum":["customId","google","facebook"]},"id":{"type":"string","description":"Account identifier","example":"google123"}},"required":["type","id"]},"UnlinkUserAccountsDto":{"type":"object","properties":{"type":{"type":"string","description":"Account type to unlink","example":"google","enum":["customId","google","facebook"]}},"required":["type"]},"GetUserProfileDto":{"type":"object","properties":{"id":{"type":"string","description":"User ID","example":"user123"},"username":{"type":"string","description":"Username","example":"johndoe"},"email":{"type":"string","description":"Email address","example":"john@example.com"},"attributes":{"type":"object","description":"Attributes to include","example":["username","email"]},"entities":{"description":"Array of entities to fetch","type":"array","items":{"$ref":"#/components/schemas/Entities"}}}},"ResetUserDto":{"type":"object","properties":{"attributes":{"type":"object","description":"Attributes to include","example":["username","email"]},"entities":{"description":"Array of entities to reset","type":"array","items":{"$ref":"#/components/schemas/Entities"}}}},"GetUserDto":{"type":"object","properties":{"ids":{"description":"Array of user IDs","example":["user1","user2"],"type":"array","items":{"type":"string"}},"attributes":{"type":"object","description":"Attributes to include","example":["username","email"]},"entities":{"description":"Entities configuration","allOf":[{"$ref":"#/components/schemas/Entities"}]},"offset":{"type":"number","description":"Offset for pagination","example":0},"limit":{"type":"number","description":"Limit for pagination","example":10},"search":{"type":"string","description":"Search keyword","example":"john"},"sortField":{"type":"string","description":"Field to sort by","example":"username"},"sortOrder":{"type":"string","description":"Sort order","example":"asc"},"projectId":{"type":"string","description":"Project ID","example":"proj123"},"showBanPlayer":{"type":"boolean","description":"Show banned players","example":false}},"required":["projectId"]},"GetUserMmrHistoryDto":{"type":"object","properties":{"userId":{"type":"string","description":"User ID","example":"user123"},"projectId":{"type":"string","description":"Project ID","example":"proj123"},"matchId":{"type":"string","description":"Match ID","example":"match123"},"limit":{"type":"number","description":"Limit for pagination","example":10},"offset":{"type":"number","description":"Offset for pagination","example":0}},"required":["userId","projectId","matchId"]},"GetFriendsDto":{"type":"object","properties":{"userId":{"type":"string","description":"User ID","example":"user123"},"projectId":{"type":"string","description":"Project ID","example":"proj123"},"limit":{"type":"number","description":"Limit for pagination","example":10},"offset":{"type":"number","description":"Offset for pagination","example":0}},"required":["userId","projectId"]},"GetPendingFriendRequestsDto":{"type":"object","properties":{"userId":{"type":"string","description":"User ID","example":"user123"},"projectId":{"type":"string","description":"Project ID","example":"proj123"},"limit":{"type":"number","description":"Limit for pagination","example":10},"offset":{"type":"number","description":"Offset for pagination","example":0}},"required":["userId","projectId"]},"GetTransactionHistoryDto":{"type":"object","properties":{"limit":{"type":"number","description":"Limit for pagination","example":10},"offset":{"type":"number","description":"Offset for pagination","example":0}}},"CreatePlayerDto":{"type":"object","properties":{"customId":{"type":"string","description":"Custom ID for the player","example":"custom123"},"projectId":{"type":"string","description":"Project ID","example":"proj123"},"referralCode":{"type":"string","description":"Referral code","example":"REF123"},"meta":{"type":"object","description":"Additional metadata","example":{"device":"ios"}},"includePlayerData":{"type":"boolean","description":"Include player data in response","example":false},"includeEquipItem":{"type":"boolean","description":"Include equipped items in response","example":false},"specterParams":{"type":"object","description":"Specter parameters","example":{"param1":"value1"}},"customParams":{"type":"object","description":"Custom parameters","example":{"custom1":"value1"}}},"required":["customId","projectId"]},"UpdatePlayerProfileDto":{"type":"object","properties":{"firstName":{"type":"string","description":"First name of the player","example":"John"},"lastName":{"type":"string","description":"Last name of the player","example":"Doe"},"birthdate":{"type":"string","description":"Birthdate of the player","example":"1990-01-01"},"countryCode":{"type":"string","description":"Country code","example":"US"},"isKycComplete":{"type":"boolean","description":"KYC completion status","example":true},"meta":{"type":"object","description":"Additional metadata","example":{"device":"ios"}},"tags":{"type":"object","description":"Player tags","example":["vip","premium"]},"playerData":{"type":"object","description":"Player data object","example":{"level":5,"score":1000}},"projectId":{"type":"string","description":"Project ID","example":"proj123"},"userId":{"type":"string","description":"User ID","example":"user123"},"customId":{"type":"string","description":"Custom ID","example":"custom123"}},"required":["projectId","userId"]},"LinkFromInfo":{"type":"object","properties":{"userId":{"type":"string","description":"User ID to link from","example":"user123"},"projectId":{"type":"string","description":"Project ID to link from","example":"proj123"}},"required":["userId","projectId"]},"LinkToInfo":{"type":"object","properties":{"userId":{"type":"string","description":"User ID to link to","example":"user456"},"projectId":{"type":"string","description":"Project ID to link to","example":"proj456"}},"required":["userId","projectId"]},"LinkAccountDto":{"type":"object","properties":{"linkFromInfo":{"description":"Information about the account to link from","allOf":[{"$ref":"#/components/schemas/LinkFromInfo"}]},"linkToInfo":{"description":"Information about the account to link to","allOf":[{"$ref":"#/components/schemas/LinkToInfo"}]}},"required":["linkFromInfo","linkToInfo"]},"SendFriendRequestDto":{"type":"object","properties":{"userId":{"type":"string","description":"User ID to send friend request to","example":"user123"}},"required":["userId"]},"AcceptFriendRequestDto":{"type":"object","properties":{"userId":{"type":"string","description":"User ID of the friend request to accept","example":"user123"}},"required":["userId"]},"RejectFriendRequestDto":{"type":"object","properties":{"userId":{"type":"string","description":"User ID of the friend request to reject","example":"user123"}},"required":["userId"]},"RemoveFriendDto":{"type":"object","properties":{"userId":{"type":"string","description":"User ID of the friend to remove","example":"user123"}},"required":["userId"]},"GetFriendsListDto":{"type":"object","properties":{"userId":{"type":"string","description":"User ID","example":"user123"},"username":{"type":"string","description":"Username","example":"johndoe"},"email":{"type":"string","description":"Email address","example":"john@example.com"},"status":{"type":"string","description":"Friend request status","example":"accepted"}}},"UserResetPasswordDto":{"type":"object","properties":{"id":{"type":"string","description":"User identifier (email or username)","example":"john@example.com"},"projectId":{"type":"string","description":"Project ID","example":"proj123"},"type":{"type":"string","description":"Type of identifier","example":"email","enum":["email","username"]},"password":{"type":"string","description":"New password","example":"newPassword123"}},"required":["id","projectId","type","password"]},"ChangePasswordDto":{"type":"object","properties":{"currentPassword":{"type":"string","description":"Current password","example":"oldPassword123"},"newPassword":{"type":"string","description":"New password","example":"newPassword456"}},"required":["currentPassword","newPassword"]},"ForgotPasswordDto":{"type":"object","properties":{"id":{"type":"string","description":"User identifier (email or username)","example":"john@example.com"},"type":{"type":"string","description":"Type of identifier","example":"email","enum":["email","username"]}},"required":["id","type"]},"ClientResetPasswordDto":{"type":"object","properties":{"id":{"type":"string","description":"User identifier (email or username)","example":"john@example.com"},"type":{"type":"string","description":"Type of identifier","example":"email","enum":["email","username"]},"resetPasswordToken":{"type":"string","description":"Reset password token","example":"reset-token-123"},"password":{"type":"string","description":"New password","example":"newPassword123"}},"required":["id","type","resetPasswordToken","password"]},"DeletePlayerDto":{"type":"object","properties":{"ids":{"description":"Array of player IDs to delete","example":["user123","user456"],"type":"array","items":{"type":"string"}}},"required":["ids"]},"GetMyProfileV2Dto":{"type":"object","properties":{"attributes":{"type":"object","description":"Attributes to include in response","example":["username","email"]}}},"GetUserProfileV2Dto":{"type":"object","properties":{"userId":{"type":"string","description":"User ID","example":"user123"},"username":{"type":"string","description":"Username","example":"johndoe"},"email":{"type":"string","description":"Email address","example":"john@example.com"},"attributes":{"type":"object","description":"Attributes to include","example":["username","email"]}},"required":["userId"]},"GetMyMatchHistoryV2Dto":{"type":"object","properties":{"attributes":{"type":"object","description":"Attributes to include in response","example":["score","duration"]},"matchSessionId":{"type":"string","description":"Match session ID","example":"match123"},"limit":{"type":"number","description":"Limit for pagination","example":10},"offset":{"type":"number","description":"Offset for pagination","example":0}}},"CreateBulkTagsDto":{"type":"object","properties":{"name":{"description":"Array of tag names to create","example":["gameplay","rewards","seasonal"],"type":"array","items":{"type":"string"}},"organisationId":{"type":"string","description":"Organisation ID","example":"org-uuid-12345"}},"required":["name","organisationId"]},"GetAllTagsDto":{"type":"object","properties":{"projectId":{"type":"string","description":"Project ID","example":"proj-uuid-12345"},"search":{"type":"string","description":"Search keyword","example":"gameplay"},"limit":{"type":"number","description":"Number of records to return","example":10},"offset":{"type":"number","description":"Pagination offset","example":0}},"required":["projectId"]},"TagDetail":{"type":"object","properties":{"id":{"type":"string","description":"Tag ID (for existing tags)","example":"tag-uuid-12345"},"name":{"type":"string","description":"Tag name","example":"gameplay"},"type":{"type":"number","description":"Tag type (0 = create, 1 = update, 2 = delete)","enum":[0,1,2],"example":1}},"required":["name","type"]},"UpdateTagsDto":{"type":"object","properties":{"projectId":{"type":"string","description":"Project ID","example":"proj-uuid-12345"},"tagDetails":{"description":"Array of tag details to update","type":"array","items":{"$ref":"#/components/schemas/TagDetail"}}},"required":["projectId","tagDetails"]},"AddMatchDto":{"type":"object","properties":{}},"UpdateMatchDto":{"type":"object","properties":{}},"GetMatchDto":{"type":"object","properties":{}},"GetClientMatchesDto":{"type":"object","properties":{}},"GetClientMatchesV2Dto":{"type":"object","properties":{}},"CreateMatchConfigTemplateDto":{"type":"object","properties":{}},"UpdateMatchConfigTemplateDto":{"type":"object","properties":{}},"GetMatchConfigTemplateDto":{"type":"object","properties":{}},"GetMatchSessionDto":{"type":"object","properties":{}},"StartMatchSessionDto":{"type":"object","properties":{}},"UpdateMatchSessionDto":{"type":"object","properties":{}},"EndMatchSessionDto":{"type":"object","properties":{}},"UpdateUserMmrDto":{"type":"object","properties":{}},"GetMatchSessionDetailsDto":{"type":"object","properties":{}},"FindMatchDto":{"type":"object","properties":{}},"AcceptMatchDto":{"type":"object","properties":{}},"LeaveMatchDto":{"type":"object","properties":{}},"ServerReadyDto":{"type":"object","properties":{}},"AddOrchestrationConfigDto":{"type":"object","properties":{}},"UpdateOrchestrationConfigDto":{"type":"object","properties":{}},"GetOrchestrationConfigDto":{"type":"object","properties":{}},"CreatePartyDto":{"type":"object","properties":{}},"InviteToPartyDto":{"type":"object","properties":{}},"JoinPartyDto":{"type":"object","properties":{}},"PartyActionDto":{"type":"object","properties":{}},"KickFromPartyDto":{"type":"object","properties":{}},"UpdatePartySettingsDto":{"type":"object","properties":{}},"TransferLeaderDto":{"type":"object","properties":{}},"CompetitionEntryPriceDto":{"type":"object","properties":{"priceType":{"type":"string","description":"Type of entry price","enum":["RMG","virtual currency","IAP"],"example":"virtual currency"},"competitionId":{"type":"string","description":"Competition ID this price belongs to","example":"comp-12345-abcde"},"realWorldCurrencyId":{"type":"number","description":"Real world currency ID for RMG type","example":1},"currencyId":{"type":"number","description":"Virtual currency ID","example":1},"price":{"type":"number","description":"Entry price amount","example":100},"discount":{"type":"number","description":"Discount percentage on entry price","example":10},"bonusCashAllowance":{"type":"number","description":"Bonus cash allowance for entry","example":50},"hosting":{"type":"boolean","description":"Whether hosting fee is enabled","example":false},"hostingFee":{"type":"number","description":"Hosting fee amount","example":5},"hostingFeeType":{"type":"string","description":"Type of hosting fee calculation","enum":["percentage","flat"],"example":"percentage"}},"required":["priceType","price"]},"RewardDto":{"type":"object","properties":{"amount":{"type":"number","description":"Reward amount","example":100},"type":{"type":"string","description":"Type of reward","enum":["currency","item","bundle","progressionMarker"],"example":"currency"},"currencyId":{"type":"number","description":"Currency ID (required if type is currency)","example":1},"itemId":{"type":"string","description":"Item ID (required if type is item)","example":"item-uuid"},"bundleId":{"type":"string","description":"Bundle ID (required if type is bundle)","example":"bundle-uuid"},"progerssionMarkerId":{"type":"string","description":"Progression Marker ID (required if type is progressionMarker)","example":"marker-uuid"}},"required":["amount","type"]},"prizeDistributionRule":{"type":"object","properties":{"startRank":{"type":"number","description":"Starting rank for prize distribution","example":1},"endRank":{"type":"number","description":"Ending rank for prize distribution","example":3},"rewards":{"description":"Array of rewards for this rank range","type":"array","items":{"$ref":"#/components/schemas/RewardDto"}}},"required":["startRank"]},"CreateScheduleDto":{"type":"object","properties":{"id":{"type":"number","description":"Schedule ID (optional for creation)","example":1},"competitionId":{"type":"string","description":"Competition ID this schedule belongs to","example":"comp-12345-abcde"},"projectId":{"type":"string","description":"Project ID","example":"proj-12345-abcde"},"startDate":{"type":"string","description":"Schedule start date","example":"2024-01-01T00:00:00Z"},"endDate":{"type":"string","description":"Schedule end date","example":"2024-01-31T23:59:59Z"},"categoryId":{"type":"number","description":"Category ID for the schedule","example":1},"scheduleType":{"type":"string","description":"Type of schedule","enum":["normal","recurring"],"example":"normal"},"recurrenceFrequencyId":{"type":"number","description":"Recurrence frequency ID for recurring schedules","example":1},"offset":{"type":"number","description":"Time offset in minutes","example":0}}},"CreateCompetitionDto":{"type":"object","properties":{"competitionId":{"type":"string","description":"Unique competition identifier","example":"comp-weekly-battle-001"},"name":{"type":"string","description":"Competition display name","example":"Weekly Battle Royale"},"description":{"type":"string","description":"Competition description","example":"A weekly competition where players compete for the top spot"},"minPlayers":{"type":"number","description":"Minimum number of players required","example":2},"maxPlayers":{"type":"number","description":"Maximum number of players allowed","example":100},"maxEntryAllowed":{"type":"number","description":"Maximum entries allowed per player","example":1},"maxAttemptAllowed":{"type":"number","description":"Maximum attempts allowed per entry","example":3},"sourceTypeId":{"type":"number","description":"Source type ID","example":1},"numberOfWinner":{"type":"number","description":"Number of winners","example":10},"totalNumberOfSlot":{"type":"number","description":"Total number of slots available","example":100},"hostingFeeType":{"type":"string","description":"Hosting fee type","example":"percentage"},"prizeDistributionMode":{"type":"string","description":"Prize distribution mode","enum":["fixed","dynamic"],"example":"fixed"},"entryRule":{"type":"object","description":"Entry rules configuration","example":[]},"gameId":{"type":"string","description":"Game ID associated with this competition","example":"game-uuid"},"matchId":{"type":"string","description":"Match ID for tournament-style competitions","example":"match-uuid"},"competitionFormatTypeMasterId":{"type":"number","description":"Competition format type ID (1=Tournament, 2=Instant Battle)","example":1},"projectId":{"type":"string","description":"Project ID the competition belongs to","example":"proj-12345-abcde"},"isSpecialEvent":{"type":"boolean","description":"Whether this is a special event","example":false},"totalAmount":{"type":"number","description":"Total prize pool amount","example":10000},"leaderboardOutcomeTypeMasterId":{"type":"number","description":"Leaderboard outcome type ID","example":1},"leaderboardOutcomeDetails":{"type":"object","description":"Leaderboard outcome configuration details","example":[]},"active":{"type":"boolean","description":"Whether the competition is active","example":true},"archive":{"type":"boolean","description":"Whether the competition is archived","example":false},"meta":{"type":"object","description":"Custom metadata object","example":{"customField":"value"}},"tags":{"description":"Array of tag names","example":["featured","weekly"],"type":"array","items":{"type":"string"}},"competitionEntryPrices":{"description":"Competition entry price configurations","type":"array","items":{"$ref":"#/components/schemas/CompetitionEntryPriceDto"}},"prizeDistributionRule":{"description":"Prize distribution rules by rank","type":"array","items":{"$ref":"#/components/schemas/prizeDistributionRule"}},"rewardUnlockCondition":{"description":"Reward unlock conditions","example":[],"type":"array","items":{"type":"string"}},"schdule":{"description":"Schedule configuration","type":"array","items":{"$ref":"#/components/schemas/CreateScheduleDto"}}},"required":["competitionId","name","competitionFormatTypeMasterId","projectId","isSpecialEvent"]},"Leaderboard":{"type":"object","properties":{"id":{"type":"string","description":"Leaderboard ID","example":"leaderboard-uuid"},"leaderboardOutcomeTypeMasterId":{"type":"number","description":"Leaderboard outcome type ID","example":1},"leaderboardOutcomeDetails":{"type":"object","description":"Leaderboard outcome configuration details","example":[]}},"required":["id"]},"UpdateCompetitionEntryPriceDto":{"type":"object","properties":{"id":{"type":"string","description":"Entry price ID","example":"price-uuid"},"priceType":{"type":"string","description":"Type of entry price","enum":["RMG","virtual currency","IAP"],"example":"virtual currency"},"realWorldCurrencyId":{"type":"number","description":"Real world currency ID for RMG type","example":1},"currencyId":{"type":"number","description":"Virtual currency ID","example":1},"price":{"type":"number","description":"Entry price amount","example":100},"bonusCashAllowance":{"type":"number","description":"Bonus cash allowance for entry","example":50},"hosting":{"type":"boolean","description":"Whether hosting fee is enabled","example":false},"hostingFee":{"type":"number","description":"Hosting fee amount","example":5},"hostingFeeType":{"type":"string","description":"Type of hosting fee calculation","enum":["percentage","flat"],"example":"percentage"},"discount":{"type":"number","description":"Discount percentage on entry price","example":10},"archive":{"type":"boolean","description":"Whether this entry price is archived","example":false}}},"UpdateCompetitionDto":{"type":"object","properties":{"id":{"type":"string","description":"Competition UUID to update","example":"comp-uuid-12345"},"competitionId":{"type":"string","description":"Unique competition identifier","example":"comp-weekly-battle-001"},"name":{"type":"string","description":"Competition display name","example":"Weekly Battle Royale"},"description":{"type":"string","description":"Competition description","example":"A weekly competition where players compete for the top spot"},"minPlayers":{"type":"number","description":"Minimum number of players required","example":2},"maxPlayers":{"type":"number","description":"Maximum number of players allowed","example":100},"maxEntryAllowed":{"type":"number","description":"Maximum entries allowed per player","example":1},"maxAttemptAllowed":{"type":"number","description":"Maximum attempts allowed per entry","example":3},"leaderboard":{"description":"Leaderboard configuration","allOf":[{"$ref":"#/components/schemas/Leaderboard"}]},"numberOfWinner":{"type":"number","description":"Number of winners","example":10},"totalNumberOfSlot":{"type":"number","description":"Total number of slots available","example":100},"hostingFeeType":{"type":"string","description":"Hosting fee type","example":"percentage"},"prizeDistributionMode":{"type":"string","description":"Prize distribution mode","enum":["fixed","dynamic"],"example":"fixed"},"entryRule":{"type":"object","description":"Entry rules configuration","example":[]},"gameId":{"type":"string","description":"Game ID associated with this competition","example":"game-uuid"},"matchId":{"type":"string","description":"Match ID for tournament-style competitions","example":"match-uuid"},"competitionFormatTypeMasterId":{"type":"number","description":"Competition format type ID (1=Tournament, 2=Instant Battle)","example":1},"projectId":{"type":"string","description":"Project ID the competition belongs to","example":"proj-12345-abcde"},"isSpecialEvent":{"type":"boolean","description":"Whether this is a special event","example":false},"totalAmount":{"type":"number","description":"Total prize pool amount","example":10000},"sourceTypeId":{"type":"number","description":"Source type ID","example":1},"active":{"type":"boolean","description":"Whether the competition is active","example":true},"archive":{"type":"boolean","description":"Whether the competition is archived","example":false},"meta":{"type":"object","description":"Custom metadata object","example":{"customField":"value"}},"tags":{"description":"Array of tag names","example":["featured","weekly"],"type":"array","items":{"type":"string"}},"prizeDistributionRule":{"description":"Prize distribution rules by rank","type":"array","items":{"$ref":"#/components/schemas/prizeDistributionRule"}},"dynamicPrizeDistributionRule":{"description":"Dynamic prize distribution rules","example":[],"type":"array","items":{"type":"string"}},"competitionEntryPrices":{"description":"Competition entry price configurations","type":"array","items":{"$ref":"#/components/schemas/UpdateCompetitionEntryPriceDto"}},"rewardUnlockCondition":{"description":"Reward unlock conditions","example":[],"type":"array","items":{"type":"string"}}},"required":["id"]},"FilterCompetitionDto":{"type":"object","properties":{"competitionFormatTypeMasterId":{"type":"number","description":"Competition format type ID (1=Tournament, 2=Instant Battle)","example":1},"ids":{"description":"Filter by specific competition IDs","example":["comp-uuid-1","comp-uuid-2"],"type":"array","items":{"type":"string"}},"sourceTypeId":{"type":"number","description":"Filter by source type ID","example":1},"minPlayerStart":{"type":"number","description":"Minimum players range start","example":2},"minPlayerEnd":{"type":"number","description":"Minimum players range end","example":10},"maxPlayerStart":{"type":"number","description":"Maximum players range start","example":10},"maxPlayerEnd":{"type":"number","description":"Maximum players range end","example":100},"maxEntryAllowed":{"type":"number","description":"Filter by max entry allowed","example":1},"maxAttemptAllowed":{"type":"number","description":"Filter by max attempts allowed","example":3},"priceType":{"type":"string","description":"Filter by entry price type","enum":["RMG","virtual currency","IAP"],"example":"virtual currency"},"isEntryPriced":{"type":"boolean","description":"Filter competitions with entry price","example":true},"isPrizeConfigured":{"type":"boolean","description":"Filter competitions with prize configured","example":true},"status":{"description":"Filter by competition status","example":["active","scheduled"],"type":"array","items":{"type":"string"}},"recurrenceFrequency":{"type":"number","description":"Filter by recurrence frequency","example":1},"intervalUnitId":{"type":"number","description":"Filter by interval unit ID","example":1},"startDate":{"type":"string","description":"Filter by start date","example":"2024-01-01T00:00:00Z"},"endDate":{"type":"string","description":"Filter by end date","example":"2024-12-31T23:59:59Z"},"scheduleType":{"type":"string","description":"Filter by schedule type","enum":["normal","recurring"],"example":"normal"},"instanceStatus":{"description":"Filter by instance status","example":["running","completed"],"type":"array","items":{"type":"string"}},"isLocked":{"type":"boolean","description":"Filter locked competitions","example":false},"offset":{"type":"number","description":"Pagination offset","example":0},"limit":{"type":"number","description":"Pagination limit","example":10},"search":{"type":"string","description":"Search keyword","example":"battle"},"sortField":{"type":"string","description":"Field to sort by","example":"createdAt"},"sortOrder":{"type":"string","description":"Sort order","enum":["ASC","DESC"],"example":"DESC"},"projectId":{"type":"string","description":"Project ID to filter competitions","example":"proj-12345-abcde"},"showArchived":{"type":"boolean","description":"Include archived competitions","example":false}},"required":["competitionFormatTypeMasterId","projectId"]},"GetClientTournamentsV2Dto":{"type":"object","properties":{}},"GetClientCompetitionsDto":{"type":"object","properties":{}},"GetClientInstantBattlesV2Dto":{"type":"object","properties":{}},"CompetitionEntryDto":{"type":"object","properties":{}},"GetMyCompetitionsDto":{"type":"object","properties":{}},"GetIBResultDto":{"type":"object","properties":{}},"GetTournamentRankingDto":{"type":"object","properties":{}},"GetTournamentResultDto":{"type":"object","properties":{}},"CheckAttemptsDto":{"type":"object","properties":{}},"SendScoreToTournamentLeaderboardDto":{"type":"object","properties":{}},"Pagination":{"type":"object","properties":{"offset":{"type":"number","description":"Number of records to skip","example":0},"limit":{"type":"number","description":"Number of records to return","example":10}},"required":["offset","limit"]},"GetCompetitionDetailsDto":{"type":"object","properties":{"competitionId":{"type":"string","description":"Competition ID","example":"comp-weekly-battle-001"},"matchId":{"type":"string","description":"Match ID to filter by","example":"match-12345"},"instanceId":{"type":"string","description":"Instance ID of the competition","example":"instance-67890"},"gameId":{"type":"string","description":"Game ID to filter by","example":"game-puzzle-001"},"pagination":{"description":"Pagination options","allOf":[{"$ref":"#/components/schemas/Pagination"}]}},"required":["competitionId","instanceId","pagination"]},"DeleteCompetitionDto":{"type":"object","properties":{"ids":{"description":"Array of competition IDs to delete","example":["comp-weekly-battle-001","comp-daily-challenge-002"],"type":"array","items":{"type":"string"}}},"required":["ids"]},"GetMyTournamentDto":{"type":"object","properties":{}},"GetMyInstantBattleDto":{"type":"object","properties":{}},"GetTournamentRankingV2Dto":{"type":"object","properties":{}},"GetTournamentResultV2Dto":{"type":"object","properties":{}},"GetIBResultV2Dto":{"type":"object","properties":{}},"GetOtherRmTransactionHistoryDto":{"type":"object","properties":{}},"GetMyRmTransactionHistoryDto":{"type":"object","properties":{}},"LinkPaymentMethodBankDto":{"type":"object","properties":{}},"LinkPaymentMethodVpaDto":{"type":"object","properties":{}},"PayoutToBankDto":{"type":"object","properties":{}},"UnlinkPaymentMethodDto":{"type":"object","properties":{}},"CreateDocumentDto":{"type":"object","properties":{"name":{"type":"string","description":"Display name of the document","example":"Privacy Policy"},"documentId":{"type":"string","description":"Custom unique identifier for the document","example":"privacy-policy-v1"},"content":{"type":"string","description":"HTML content of the document","example":"<h1>Privacy Policy</h1><p>Your privacy is important...</p>"},"projectId":{"type":"string","description":"Project ID this document belongs to","example":"proj-uuid-12345"},"organisationId":{"type":"string","description":"Organisation ID","example":"org-uuid-12345"}},"required":["name","documentId","content","projectId"]},"UpdateDocumentDto":{"type":"object","properties":{"id":{"type":"string","description":"Internal database ID of the document to update","example":"doc-uuid-12345"},"documentId":{"type":"string","description":"Updated custom unique identifier for the document","example":"privacy-policy-v2"},"name":{"type":"string","description":"Updated display name of the document","example":"Privacy Policy Updated"},"content":{"type":"object","description":"Updated HTML content of the document","example":"<h1>Privacy Policy</h1><p>Updated content...</p>"},"projectId":{"type":"string","description":"Project ID this document belongs to","example":"proj-uuid-12345"},"organisationId":{"type":"string","description":"Organisation ID","example":"org-uuid-12345"}},"required":["id","projectId"]},"GetDocumentDto":{"type":"object","properties":{"ids":{"description":"Array of document IDs to filter by","example":["doc-uuid-1","doc-uuid-2"],"type":"array","items":{"type":"string"}},"offset":{"type":"number","description":"Number of records to skip for pagination","example":0},"limit":{"type":"number","description":"Maximum number of records to return","example":10},"search":{"type":"string","description":"Search keyword to filter by name","example":"privacy"},"sortField":{"type":"string","description":"Field to sort by","example":"createdAt"},"sortOrder":{"type":"string","description":"Sort order (asc or desc)","example":"desc"},"projectId":{"type":"string","description":"Project ID to get documents for","example":"proj-uuid-12345"},"showArchived":{"type":"boolean","description":"Whether to include archived documents","example":false},"organisationId":{"type":"string","description":"Organisation ID","example":"org-uuid-12345"}},"required":["projectId"]},"GetClientDocumentsDto":{"type":"object","properties":{}},"GetApiUsageDto":{"type":"object","properties":{"organisationId":{"type":"string","description":"Organisation ID to get API usage for","example":"org-12345-abcde"},"projectId":{"type":"string","description":"Project ID to filter API usage","example":"proj-12345-abcde"},"category":{"type":"string","description":"API category to filter by","enum":["App","Authentication","Progression","Tasks","User","Inventory","Wallet","Matches","Events","Stores","Rewards","Leaderboards"],"example":"Authentication"},"startDate":{"type":"string","description":"Start date for filtering API usage","example":"2024-01-01T00:00:00Z"},"endDate":{"type":"string","description":"End date for filtering API usage","example":"2024-12-31T23:59:59Z"}},"required":["organisationId"]},"GetEventUsageDto":{"type":"object","properties":{"organisationId":{"type":"string","description":"Organisation ID to get event usage for","example":"org-12345-abcde"},"projectId":{"type":"string","description":"Project ID to filter event usage","example":"proj-12345-abcde"},"category":{"type":"string","description":"Event category to filter by","enum":["Achievement","Authentication","Progression","User","Inventory","Wallet","Matches","Stores","Leaderboards","Custom"],"example":"Achievement"},"startDate":{"type":"string","description":"Start date for filtering event usage","example":"2024-01-01T00:00:00Z"},"endDate":{"type":"string","description":"End date for filtering event usage","example":"2024-12-31T23:59:59Z"}},"required":["organisationId"]},"GetOverviewDto":{"type":"object","properties":{"organisationId":{"type":"string","description":"Organisation ID to get overview for","example":"org-12345-abcde"}},"required":["organisationId"]},"GetStatesDto":{"type":"object","properties":{}},"CreateBlueprintDto":{"type":"object","properties":{"blueprintId":{"type":"string","description":"Custom unique identifier for the blueprint","example":"player-profile-bp"},"name":{"type":"string","description":"Display name of the blueprint","example":"Player Profile Blueprint"},"description":{"type":"string","description":"Description of the blueprint","example":"Blueprint for storing player profile data"},"projectId":{"type":"string","description":"Project ID this blueprint belongs to","example":"proj-uuid-12345"},"meta":{"type":"object","description":"Custom metadata for the blueprint","example":{"category":"player","version":"1.0"}},"blueprintJson":{"type":"object","description":"JSON schema defining the blueprint structure","example":{"fields":[{"name":"level","type":"number"}]}},"active":{"type":"boolean","description":"Whether the blueprint is active","example":true},"archive":{"type":"boolean","description":"Whether the blueprint is archived","example":false},"tags":{"description":"Tags for categorization","example":["player","profile"],"type":"array","items":{"type":"string"}}},"required":["name","projectId"]},"UpdateBlueprintDto":{"type":"object","properties":{"id":{"type":"string","description":"Internal database ID of the blueprint to update","example":"bp-db-uuid"},"blueprintId":{"type":"string","description":"Custom unique identifier for the blueprint","example":"player-profile-bp-v2"},"name":{"type":"string","description":"Display name of the blueprint","example":"Player Profile Blueprint Updated"},"description":{"type":"string","description":"Description of the blueprint","example":"Updated blueprint for player profile data"},"projectId":{"type":"string","description":"Project ID this blueprint belongs to","example":"proj-uuid-12345"},"meta":{"type":"object","description":"Custom metadata for the blueprint","example":{"category":"player","version":"2.0"}},"blueprintJson":{"type":"object","description":"JSON schema defining the blueprint structure","example":{"fields":[{"name":"level","type":"number"},{"name":"xp","type":"number"}]}},"active":{"type":"boolean","description":"Whether the blueprint is active","example":true},"archive":{"type":"boolean","description":"Whether the blueprint is archived","example":false},"tags":{"description":"Tags for categorization","example":["player","profile","updated"],"type":"array","items":{"type":"string"}}},"required":["id","projectId"]},"GetBlueprintDto":{"type":"object","properties":{"ids":{"description":"Array of blueprint IDs to filter by","example":["bp-uuid-1","bp-uuid-2"],"type":"array","items":{"type":"string"}},"offset":{"type":"number","description":"Number of records to skip for pagination","example":0},"limit":{"type":"number","description":"Maximum number of records to return","example":10},"search":{"type":"string","description":"Search keyword to filter by name","example":"player"},"sortField":{"type":"string","description":"Field to sort by","example":"createdAt"},"sortOrder":{"type":"string","description":"Sort order (asc or desc)","example":"desc"},"projectId":{"type":"string","description":"Project ID to get blueprints for","example":"proj-uuid-12345"},"showArchived":{"type":"boolean","description":"Whether to include archived blueprints","example":false}},"required":["projectId"]},"CreateContentDto":{"type":"object","properties":{"contentId":{"type":"string","description":"Custom unique identifier for the content","example":"player-content-001"},"name":{"type":"string","description":"Display name of the content","example":"Default Player Content"},"description":{"type":"string","description":"Description of the content","example":"Default content for new players"},"contentJson":{"type":"object","description":"JSON data conforming to the blueprint schema","example":{"level":1,"xp":0}},"blueprintId":{"type":"string","description":"Blueprint ID this content belongs to","example":"bp-uuid-12345"},"active":{"type":"boolean","description":"Whether the content is active","example":true},"archive":{"type":"boolean","description":"Whether the content is archived","example":false},"meta":{"type":"object","description":"Custom metadata for the content","example":{"priority":"high"}}},"required":["name","blueprintId"]},"UpdateContentDto":{"type":"object","properties":{"id":{"type":"string","description":"Internal database ID of the content to update","example":"content-db-uuid"},"contentId":{"type":"string","description":"Custom unique identifier for the content","example":"player-content-001-v2"},"blueprintId":{"type":"string","description":"Blueprint ID this content belongs to","example":"bp-uuid-12345"},"name":{"type":"string","description":"Display name of the content","example":"Updated Player Content"},"description":{"type":"string","description":"Description of the content","example":"Updated content for players"},"meta":{"type":"object","description":"Custom metadata for the content","example":{"priority":"medium","updated":true}},"contentJson":{"type":"object","description":"JSON data conforming to the blueprint schema","example":{"level":5,"xp":1000}},"active":{"type":"boolean","description":"Whether the content is active","example":true},"archive":{"type":"boolean","description":"Whether the content is archived","example":false}},"required":["id"]},"GetContentDto":{"type":"object","properties":{"ids":{"description":"Array of content IDs to filter by","example":["content-uuid-1","content-uuid-2"],"type":"array","items":{"type":"string"}},"offset":{"type":"number","description":"Number of records to skip for pagination","example":0},"limit":{"type":"number","description":"Maximum number of records to return","example":10},"search":{"type":"string","description":"Search keyword to filter by name","example":"player"},"sortField":{"type":"string","description":"Field to sort by","example":"createdAt"},"sortOrder":{"type":"string","description":"Sort order (asc or desc)","example":"desc"},"projectId":{"type":"string","description":"Project ID to get content for","example":"proj-uuid-12345"},"showArchived":{"type":"boolean","description":"Whether to include archived content","example":false}},"required":["projectId"]},"GetWhitelistDto":{"type":"object","properties":{"organisationId":{"type":"string","description":"Organisation ID to fetch whitelist entries for","example":"org-12345-abcde"},"type":{"type":"string","description":"Filter by whitelist type","enum":["IP","DOMAIN"],"example":"DOMAIN"},"limit":{"type":"object","description":"Maximum number of entries to return","example":20},"offset":{"type":"object","description":"Number of entries to skip for pagination","example":0}},"required":["organisationId"]},"CreateWhitelistDto":{"type":"object","properties":{"organisationId":{"type":"string","description":"Organisation ID to create whitelist entry for","example":"org-12345-abcde"},"type":{"type":"string","description":"Type of whitelist entry","enum":["IP","DOMAIN"],"example":"DOMAIN"},"value":{"type":"string","description":"The value to whitelist (IP address or domain)","example":"example.com"},"description":{"type":"string","description":"Optional description for the whitelist entry","example":"Production domain"}},"required":["organisationId","type","value"]},"UpdateWhitelistDto":{"type":"object","properties":{"organisationId":{"type":"string","description":"Organisation ID","example":"org-12345-abcde"},"id":{"type":"number","description":"ID of the whitelist entry to update","example":1},"value":{"type":"string","description":"Updated value (IP address or domain)","example":"updated-example.com"},"isActive":{"type":"boolean","description":"Whether the whitelist entry is active","example":true},"type":{"type":"string","description":"Type of whitelist entry","enum":["IP","DOMAIN"],"example":"DOMAIN"},"description":{"type":"string","description":"Updated description","example":"Updated production domain"}},"required":["organisationId","id","type"]},"DeleteWhitelistDto":{"type":"object","properties":{"organisationId":{"type":"string","description":"Organisation ID","example":"org-12345-abcde"},"id":{"type":"number","description":"ID of the whitelist entry to delete","example":1}},"required":["organisationId","id"]},"ValidateOriginDto":{"type":"object","properties":{"organisationId":{"type":"string","description":"Organisation ID","example":"org-12345-abcde"},"origin":{"type":"string","description":"Origin URL to validate against whitelist","example":"https://example.com"}},"required":["organisationId","origin"]},"CreateBattlepassTierRewardDto":{"type":"object","properties":{"itemId":{"type":"string","description":"Item ID to reward","example":"item-uuid"},"bundleId":{"type":"string","description":"Bundle ID to reward","example":"bundle-uuid"},"currencyId":{"type":"string","description":"Currency ID to reward","example":"currency-uuid"},"progressionMarkerId":{"type":"string","description":"Progression marker ID to reward","example":"marker-uuid"},"quantity":{"type":"number","description":"Quantity of the reward","example":100},"archive":{"type":"boolean","description":"Whether this reward is archived","example":false}}},"BattlepassTierLevelDto":{"type":"object","properties":{"levelSystemLevelId":{"type":"string","description":"Level system level ID for this tier level","example":"level-uuid"},"tierRewards":{"description":"Array of rewards for this tier level","type":"array","items":{"$ref":"#/components/schemas/CreateBattlepassTierRewardDto"}}},"required":["levelSystemLevelId"]},"CreateBattlepassTierDto":{"type":"object","properties":{"name":{"type":"string","description":"Name of the battlepass tier","example":"Free Tier"},"sortingOrder":{"type":"number","description":"Sorting order for the tier","example":1},"tierLevels":{"description":"Array of tier levels with their rewards","type":"array","items":{"$ref":"#/components/schemas/BattlepassTierLevelDto"}}},"required":["name"]},"CreateBattlepassDto":{"type":"object","properties":{"battlepassId":{"type":"string","description":"Unique identifier for the battlepass","example":"summer-pass-2024"},"name":{"type":"string","description":"Display name of the battlepass","example":"Summer Battle Pass"},"description":{"type":"string","description":"Description of the battlepass","example":"Season 5 exclusive rewards and challenges"},"projectId":{"type":"string","description":"Project ID this battlepass belongs to","example":"proj-uuid-12345"},"levelSystemId":{"type":"string","description":"Level system ID for progression tracking","example":"level-system-uuid"},"active":{"type":"boolean","description":"Whether the battlepass is active","example":true},"archive":{"type":"boolean","description":"Whether the battlepass is archived","example":false},"meta":{"type":"object","description":"Custom metadata for the battlepass","example":{"theme":"summer","color":"#FFD700"}},"tags":{"description":"Tags for categorization","example":["seasonal","premium"],"type":"array","items":{"type":"string"}},"thumbnailUrls":{"description":"Thumbnail image URLs","example":["https://cdn.example.com/thumb1.png"],"type":"array","items":{"type":"string"}},"coverImageUrls":{"description":"Cover image URLs","example":["https://cdn.example.com/cover1.png"],"type":"array","items":{"type":"string"}},"bannerUrls":{"description":"Banner image URLs","example":["https://cdn.example.com/banner1.png"],"type":"array","items":{"type":"string"}},"rewardUnlockCondition":{"description":"Conditions for unlocking rewards","type":"array","items":{"$ref":"#/components/schemas/RewardUnlockCondition"}},"tiers":{"description":"Array of battlepass tiers with rewards","type":"array","items":{"$ref":"#/components/schemas/CreateBattlepassTierDto"}}},"required":["battlepassId","name","projectId","levelSystemId"]},"UpdateBattlepassTierLevelDto":{"type":"object","properties":{"id":{"type":"string","description":"Tier level ID for updates","example":"tier-level-uuid"},"levelSystemLevelId":{"type":"string","description":"Level system level ID","example":"level-uuid"},"tierRewards":{"description":"Array of rewards for this tier level","type":"array","items":{"$ref":"#/components/schemas/CreateBattlepassTierRewardDto"}},"archive":{"type":"boolean","description":"Whether this tier level is archived","example":false}}},"UpdateBattlepassTierDto":{"type":"object","properties":{"id":{"type":"string","description":"Tier ID for updates","example":"tier-uuid"},"name":{"type":"string","description":"Name of the battlepass tier","example":"Premium Tier"},"tierLevels":{"description":"Array of tier levels with their rewards","type":"array","items":{"$ref":"#/components/schemas/UpdateBattlepassTierLevelDto"}},"archive":{"type":"boolean","description":"Whether this tier is archived","example":false}}},"UpdateBattlepassDto":{"type":"object","properties":{"id":{"type":"string","description":"Internal database ID of the battlepass to update","example":"bp-db-uuid"},"battlepassId":{"type":"string","description":"Unique identifier for the battlepass","example":"summer-pass-2024"},"name":{"type":"string","description":"Display name of the battlepass","example":"Summer Battle Pass Updated"},"description":{"type":"string","description":"Description of the battlepass","example":"Season 5 exclusive rewards - updated"},"projectId":{"type":"string","description":"Project ID this battlepass belongs to","example":"proj-uuid-12345"},"levelSystemId":{"type":"string","description":"Level system ID for progression tracking","example":"level-system-uuid"},"active":{"type":"boolean","description":"Whether the battlepass is active","example":true},"archive":{"type":"boolean","description":"Whether the battlepass is archived","example":false},"meta":{"type":"object","description":"Custom metadata for the battlepass","example":{"theme":"summer","color":"#FFD700"}},"tags":{"description":"Tags for categorization","example":["seasonal","premium"],"type":"array","items":{"type":"string"}},"thumbnailUrls":{"description":"Thumbnail image URLs","example":["https://cdn.example.com/thumb1.png"],"type":"array","items":{"type":"string"}},"coverImageUrls":{"description":"Cover image URLs","example":["https://cdn.example.com/cover1.png"],"type":"array","items":{"type":"string"}},"bannerUrls":{"description":"Banner image URLs","example":["https://cdn.example.com/banner1.png"],"type":"array","items":{"type":"string"}},"rewardUnlockCondition":{"description":"Conditions for unlocking rewards","type":"array","items":{"$ref":"#/components/schemas/RewardUnlockCondition"}},"tiers":{"description":"Array of battlepass tiers with rewards","type":"array","items":{"$ref":"#/components/schemas/UpdateBattlepassTierDto"}}},"required":["id","projectId"]},"GetBattlepassDto":{"type":"object","properties":{"ids":{"description":"Array of battlepass IDs to filter by","example":["bp-uuid-1","bp-uuid-2"],"type":"array","items":{"type":"string"}},"isLocked":{"type":"boolean","description":"Filter by locked/unlocked status","example":false},"offset":{"type":"number","description":"Number of records to skip for pagination","example":0},"limit":{"type":"number","description":"Maximum number of records to return","example":10},"search":{"type":"string","description":"Search keyword to filter by name","example":"summer"},"sortField":{"type":"string","description":"Field to sort by","example":"createdAt"},"sortOrder":{"type":"string","description":"Sort order (asc or desc)","example":"desc"},"projectId":{"type":"string","description":"Project ID to get battlepasses for","example":"proj-uuid-12345"},"showArchived":{"type":"boolean","description":"Whether to include archived battlepasses","example":false}},"required":["projectId"]},"ScheduleBattlepassDto":{"type":"object","properties":{"battlepassId":{"type":"string","description":"Battlepass ID to schedule","example":"bp-uuid-12345"},"startDate":{"type":"string","description":"Start date for the battlepass (ISO 8601 format)","example":"2024-06-01T00:00:00Z"},"endDate":{"type":"string","description":"End date for the battlepass (ISO 8601 format)","example":"2024-08-31T23:59:59Z"},"timezone":{"type":"string","description":"Timezone for the schedule","example":"America/New_York"}},"required":["battlepassId"]},"StopBattlepassDto":{"type":"object","properties":{"battlepassId":{"type":"string","description":"Battlepass ID to stop","example":"bp-uuid-12345"}},"required":["battlepassId"]},"GetMasterBattlepassesV2Dto":{"type":"object","properties":{"battlepassIds":{"description":"Array of battlepass IDs to filter by","example":["summer-pass-2024","winter-pass-2024"],"type":"array","items":{"type":"string"}},"attributes":{"description":"Specific attributes to include in response","example":["name","description","status"],"type":"array","items":{"type":"string"}},"scheduleStatuses":{"description":"Filter by schedule statuses","example":["in progress","yet to start"],"type":"array","items":{"type":"string"}},"includeTags":{"description":"Filter by tags (include battlepasses with these tags)","example":["seasonal","premium"],"type":"array","items":{"type":"string"}},"limit":{"type":"number","description":"Maximum number of records to return","example":10},"offset":{"type":"number","description":"Number of records to skip for pagination","example":0}}},"GetBattlepassTierRewardsV2Dto":{"type":"object","properties":{"battlepassId":{"type":"string","description":"Battlepass ID to get tier rewards for","example":"summer-pass-2024"},"tierIds":{"description":"Array of tier IDs to filter by","example":["tier-uuid-1","tier-uuid-2"],"type":"array","items":{"type":"string"}},"limit":{"type":"number","description":"Maximum number of records to return","example":50},"offset":{"type":"number","description":"Number of records to skip for pagination","example":0}},"required":["battlepassId"]},"unlockUserBattlepassTierV2Dto":{"type":"object","properties":{"battlepassId":{"type":"string","description":"Battlepass ID to unlock tier from","example":"summer-pass-2024"},"tierId":{"type":"string","description":"Tier ID to unlock for the user","example":"tier-uuid-12345"}},"required":["battlepassId","tierId"]},"SendFriendRequesV2Dto":{"type":"object","properties":{}},"AcceptFriendRequestV2Dto":{"type":"object","properties":{}},"DeclineFriendRequestV2Dto":{"type":"object","properties":{}},"CancelFriendRequestV2Dto":{"type":"object","properties":{}},"RemoveFriendV2Dto":{"type":"object","properties":{}},"GetMyFriendsV2Dto":{"type":"object","properties":{}},"GetPendingFriendRequestsV2Dto":{"type":"object","properties":{}},"GetSentFriendRequestsV2Dto":{"type":"object","properties":{}},"CreateFunctionDto":{"type":"object","properties":{"projectId":{"type":"string","description":"Project ID","example":"project-uuid-here"},"organisationId":{"type":"string","description":"Organisation ID","example":"org-uuid-here"},"name":{"type":"string","description":"Function name (alphanumeric, starts with letter)","example":"calcDamage","maxLength":100},"description":{"type":"string","description":"Function description","example":"Calculates combat damage based on attack and defense values"},"files":{"type":"object","description":"Function code files as key-value pairs (filename -> code)","example":{"main.ts":"export default { async fetch(req) { return Response.json({ hello: \"world\" }); } }"}},"entryPoint":{"type":"string","description":"Entry point file name","example":"main.ts","default":"main.ts"},"createdBy":{"type":"string","description":"Member ID who created the function"}},"required":["projectId","organisationId","name","files"]},"GetFunctionsDto":{"type":"object","properties":{"projectId":{"type":"string","description":"Project ID","example":"project-uuid-here"},"status":{"type":"string","description":"Filter by status","example":"deployed"},"search":{"type":"string","description":"Search by name"},"limit":{"type":"number","description":"Number of items per page","default":10},"offset":{"type":"number","description":"Page offset","default":0},"sortField":{"type":"string","description":"Field to sort by","enum":["created_at","updated_at","name","status"],"default":"created_at"},"sortOrder":{"type":"string","description":"Sort order","enum":["asc","desc"],"default":"desc"}},"required":["projectId"]},"GetFunctionByIdDto":{"type":"object","properties":{"projectId":{"type":"string","description":"Project ID","example":"project-uuid-here"},"functionId":{"type":"string","description":"Function ID","example":"function-uuid-here"}},"required":["projectId","functionId"]},"UpdateFunctionDto":{"type":"object","properties":{"projectId":{"type":"string","description":"Project ID","example":"project-uuid-here"},"functionId":{"type":"string","description":"Function ID","example":"function-uuid-here"},"name":{"type":"string","description":"New function name","example":"calcDamageV2"},"description":{"type":"string","description":"Updated description"},"files":{"type":"object","description":"Updated code files","example":{"main.ts":"export default { async fetch(req) { return Response.json({ updated: true }); } }"}},"entryPoint":{"type":"string","description":"Updated entry point"}},"required":["projectId","functionId"]},"DeleteFunctionDto":{"type":"object","properties":{"projectId":{"type":"string","description":"Project ID","example":"project-uuid-here"},"functionId":{"type":"string","description":"Function ID","example":"function-uuid-here"}},"required":["projectId","functionId"]},"DeployFunctionDto":{"type":"object","properties":{"projectId":{"type":"string","description":"Project ID","example":"project-uuid-here"},"functionId":{"type":"string","description":"Function ID","example":"function-uuid-here"}},"required":["projectId","functionId"]},"GetLogsDto":{"type":"object","properties":{"projectId":{"type":"string","description":"Project ID","example":"project-uuid-here"},"functionId":{"type":"string","description":"Function ID","example":"function-uuid-here"},"limit":{"type":"number","description":"Maximum number of log entries to return (max 10000)","default":100},"level":{"type":"string","description":"Log level filter (error, warning, info, debug)","enum":["error","warning","info","debug"]},"since":{"type":"string","description":"Start time for filtering logs (ISO 8601 format)","example":"2025-01-01T00:00:00Z"},"until":{"type":"string","description":"End time for filtering logs (ISO 8601 format)","example":"2025-01-02T00:00:00Z"},"search":{"type":"string","description":"Text to search for in log messages"},"order":{"type":"string","description":"Sort order (asc or desc)","enum":["asc","desc"],"default":"desc"},"cursor":{"type":"string","description":"Cursor for pagination (from previous response)"}},"required":["projectId","functionId"]},"GetAnalyticsDto":{"type":"object","properties":{"projectId":{"type":"string","description":"Project ID","example":"project-uuid-here"},"functionId":{"type":"string","description":"Function ID","example":"function-uuid-here"},"startDate":{"type":"string","description":"Start date for analytics period"},"endDate":{"type":"string","description":"End date for analytics period"}},"required":["projectId","functionId"]},"GetSecretsDto":{"type":"object","properties":{"projectId":{"type":"string","description":"Project ID","example":"project-uuid-here"}},"required":["projectId"]},"AddSecretDto":{"type":"object","properties":{"projectId":{"type":"string","description":"Project ID","example":"project-uuid-here"},"key":{"type":"string","description":"Secret key (uppercase with underscores)","example":"STRIPE_API_KEY"},"value":{"type":"string","description":"Secret value","example":"sk_live_xxxxx"}},"required":["projectId","key","value"]},"DeleteSecretDto":{"type":"object","properties":{"projectId":{"type":"string","description":"Project ID","example":"project-uuid-here"},"key":{"type":"string","description":"Secret key","example":"STRIPE_API_KEY"}},"required":["projectId","key"]},"GetJwtDto":{"type":"object","properties":{"projectId":{"type":"string","description":"Project ID","example":"project-uuid-here"}},"required":["projectId"]},"RegenerateJwtDto":{"type":"object","properties":{"projectId":{"type":"string","description":"Project ID","example":"project-uuid-here"}},"required":["projectId"]},"SyncInvocationsDto":{"type":"object","properties":{"projectId":{"type":"string","description":"Project ID","example":"project-uuid-here"},"functionId":{"type":"string","description":"Function ID (sync single function, or all if not provided)","example":"function-uuid-here"},"since":{"type":"string","description":"Start time for sync (ISO 8601 format)","example":"2025-01-01T00:00:00Z"},"until":{"type":"string","description":"End time for sync (ISO 8601 format)","example":"2025-01-02T00:00:00Z"}},"required":["projectId"]},"GetInvocationsDto":{"type":"object","properties":{"projectId":{"type":"string","description":"Project ID","example":"project-uuid-here"},"functionId":{"type":"string","description":"Filter by Function ID","example":"function-uuid-here"},"status":{"type":"string","description":"Filter by status","enum":["success","error","timeout","unauthorized"]},"since":{"type":"string","description":"Start time filter (ISO 8601 format)","example":"2025-01-01T00:00:00Z"},"until":{"type":"string","description":"End time filter (ISO 8601 format)","example":"2025-01-02T00:00:00Z"},"limit":{"type":"number","description":"Number of items per page","default":50},"offset":{"type":"number","description":"Page offset","default":0}},"required":["projectId"]},"InternalFailureNotifyDto":{"type":"object","properties":{}}}},"externalDocs":{"description":"Specter Website","url":"https://specterapp.xyz"}}