@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Bungie.Net API
@base https://www.bungie.net/Platform
@version 2.21.9
@auth ApiKey X-API-Key in header | OAuth2
@endpoints 135
@hint download_for_search
@toc App(2), User(9), Content(7), Forum(10), GroupV2(35), Tokens(8), Destiny2(43), CommunityContent(1), Trending(3), Fireteam(5), Social(8), GetAvailableLocales(1), Settings(1), UserSystemOverrides(1), GlobalAlerts(1)

@group App
@endpoint GET /App/ApiUsage/{applicationId}/
@required {applicationId: any}
@optional {end: any, start: any}
@returns(200)

@endpoint GET /App/FirstParty/
@returns(200)

@endgroup

@group User
@endpoint GET /User/GetBungieNetUserById/{id}/
@required {id: any}
@returns(200)

@endpoint GET /User/GetSanitizedPlatformDisplayNames/{membershipId}/
@required {membershipId: any}
@returns(200)

@endpoint GET /User/GetCredentialTypesForTargetAccount/{membershipId}/
@required {membershipId: any}
@returns(200)

@endpoint GET /User/GetAvailableThemes/
@returns(200)

@endpoint GET /User/GetMembershipsById/{membershipId}/{membershipType}/
@required {membershipId: any, membershipType: any}
@returns(200)

@endpoint GET /User/GetMembershipsForCurrentUser/
@returns(200)

@endpoint GET /User/GetMembershipFromHardLinkedCredential/{crType}/{credential}/
@required {credential: any, crType: any}
@returns(200)

@endpoint GET /User/Search/Prefix/{displayNamePrefix}/{page}/
@required {displayNamePrefix: any, page: any}
@returns(200)

@endpoint POST /User/Search/GlobalName/{page}/
@required {page: any}
@returns(200)

@endgroup

@group Content
@endpoint GET /Content/GetContentType/{type}/
@required {type: any}
@returns(200)

@endpoint GET /Content/GetContentById/{id}/{locale}/
@required {id: any, locale: any}
@optional {head: any}
@returns(200)

@endpoint GET /Content/GetContentByTagAndType/{tag}/{type}/{locale}/
@required {locale: any, tag: any, type: any}
@optional {head: any}
@returns(200)

@endpoint GET /Content/Search/{locale}/
@required {locale: any}
@optional {ctype: any, currentpage: any, head: any, searchtext: any, source: any, tag: any}
@returns(200)

@endpoint GET /Content/SearchContentByTagAndType/{tag}/{type}/{locale}/
@required {locale: any, tag: any, type: any}
@optional {currentpage: any, head: any, itemsperpage: any}
@returns(200)

@endpoint GET /Content/SearchHelpArticles/{searchtext}/{size}/
@required {searchtext: any, size: any}
@returns(200)

@endpoint GET /Content/Rss/NewsArticles/{pageToken}/
@required {pageToken: any}
@optional {categoryfilter: any, includebody: any}
@returns(200)

@endgroup

@group Forum
@endpoint GET /Forum/GetTopicsPaged/{page}/{pageSize}/{group}/{sort}/{quickDate}/{categoryFilter}/
@required {categoryFilter: any, group: any, page: any, pageSize: any, quickDate: any, sort: any}
@optional {locales: any, tagstring: any}
@returns(200)

@endpoint GET /Forum/GetCoreTopicsPaged/{page}/{sort}/{quickDate}/{categoryFilter}/
@required {categoryFilter: any, page: any, quickDate: any, sort: any}
@optional {locales: any}
@returns(200)

@endpoint GET /Forum/GetPostsThreadedPaged/{parentPostId}/{page}/{pageSize}/{replySize}/{getParentPost}/{rootThreadMode}/{sortMode}/
@required {getParentPost: any, page: any, pageSize: any, parentPostId: any, replySize: any, rootThreadMode: any, sortMode: any}
@optional {showbanned: any}
@returns(200)

@endpoint GET /Forum/GetPostsThreadedPagedFromChild/{childPostId}/{page}/{pageSize}/{replySize}/{rootThreadMode}/{sortMode}/
@required {childPostId: any, page: any, pageSize: any, replySize: any, rootThreadMode: any, sortMode: any}
@optional {showbanned: any}
@returns(200)

@endpoint GET /Forum/GetPostAndParent/{childPostId}/
@required {childPostId: any}
@optional {showbanned: any}
@returns(200)

@endpoint GET /Forum/GetPostAndParentAwaitingApproval/{childPostId}/
@required {childPostId: any}
@optional {showbanned: any}
@returns(200)

@endpoint GET /Forum/GetTopicForContent/{contentId}/
@required {contentId: any}
@returns(200)

@endpoint GET /Forum/GetForumTagSuggestions/
@optional {partialtag: any}
@returns(200)

@endpoint GET /Forum/Poll/{topicId}/
@required {topicId: any}
@returns(200)

@endpoint POST /Forum/Recruit/Summaries/
@returns(200)

@endgroup

@group GroupV2
@endpoint GET /GroupV2/GetAvailableAvatars/
@returns(200)

@endpoint GET /GroupV2/GetAvailableThemes/
@returns(200)

@endpoint GET /GroupV2/GetUserClanInviteSetting/{mType}/
@required {mType: any}
@returns(200)

@endpoint POST /GroupV2/Recommended/{groupType}/{createDateRange}/
@required {createDateRange: any, groupType: any}
@returns(200)

@endpoint POST /GroupV2/Search/
@returns(200)

@endpoint GET /GroupV2/{groupId}/
@required {groupId: any}
@returns(200)

@endpoint GET /GroupV2/Name/{groupName}/{groupType}/
@required {groupName: any, groupType: any}
@returns(200)

@endpoint POST /GroupV2/NameV2/
@returns(200)

@endpoint GET /GroupV2/{groupId}/OptionalConversations/
@required {groupId: any}
@returns(200)

@endpoint POST /GroupV2/{groupId}/Edit/
@required {groupId: any}
@returns(200)

@endpoint POST /GroupV2/{groupId}/EditClanBanner/
@required {groupId: any}
@returns(200)

@endpoint POST /GroupV2/{groupId}/EditFounderOptions/
@required {groupId: any}
@returns(200)

@endpoint POST /GroupV2/{groupId}/OptionalConversations/Add/
@required {groupId: any}
@returns(200)

@endpoint POST /GroupV2/{groupId}/OptionalConversations/Edit/{conversationId}/
@required {conversationId: any, groupId: any}
@returns(200)

@endpoint GET /GroupV2/{groupId}/Members/
@required {currentpage: any, groupId: any}
@optional {memberType: any, nameSearch: any}
@returns(200)

@endpoint GET /GroupV2/{groupId}/AdminsAndFounder/
@required {currentpage: any, groupId: any}
@returns(200)

@endpoint POST /GroupV2/{groupId}/Members/{membershipType}/{membershipId}/SetMembershipType/{memberType}/
@required {groupId: any, membershipId: any, membershipType: any, memberType: any}
@returns(200)

@endpoint POST /GroupV2/{groupId}/Members/{membershipType}/{membershipId}/Kick/
@required {groupId: any, membershipId: any, membershipType: any}
@returns(200)

@endpoint POST /GroupV2/{groupId}/Members/{membershipType}/{membershipId}/Ban/
@required {groupId: any, membershipId: any, membershipType: any}
@returns(200)

@endpoint POST /GroupV2/{groupId}/Members/{membershipType}/{membershipId}/Unban/
@required {groupId: any, membershipId: any, membershipType: any}
@returns(200)

@endpoint GET /GroupV2/{groupId}/Banned/
@required {currentpage: any, groupId: any}
@returns(200)

@endpoint GET /GroupV2/{groupId}/EditHistory/
@required {currentpage: any, groupId: any}
@returns(200)

@endpoint POST /GroupV2/{groupId}/Admin/AbdicateFoundership/{membershipType}/{founderIdNew}/
@required {founderIdNew: any, groupId: any, membershipType: any}
@returns(200)

@endpoint GET /GroupV2/{groupId}/Members/Pending/
@required {currentpage: any, groupId: any}
@returns(200)

@endpoint GET /GroupV2/{groupId}/Members/InvitedIndividuals/
@required {currentpage: any, groupId: any}
@returns(200)

@endpoint POST /GroupV2/{groupId}/Members/ApproveAll/
@required {groupId: any}
@returns(200)

@endpoint POST /GroupV2/{groupId}/Members/DenyAll/
@required {groupId: any}
@returns(200)

@endpoint POST /GroupV2/{groupId}/Members/ApproveList/
@required {groupId: any}
@returns(200)

@endpoint POST /GroupV2/{groupId}/Members/Approve/{membershipType}/{membershipId}/
@required {groupId: any, membershipId: any, membershipType: any}
@returns(200)

@endpoint POST /GroupV2/{groupId}/Members/DenyList/
@required {groupId: any}
@returns(200)

@endpoint GET /GroupV2/User/{membershipType}/{membershipId}/{filter}/{groupType}/
@required {filter: any, groupType: any, membershipId: any, membershipType: any}
@returns(200)

@endpoint GET /GroupV2/Recover/{membershipType}/{membershipId}/{groupType}/
@required {groupType: any, membershipId: any, membershipType: any}
@returns(200)

@endpoint GET /GroupV2/User/Potential/{membershipType}/{membershipId}/{filter}/{groupType}/
@required {filter: any, groupType: any, membershipId: any, membershipType: any}
@returns(200)

@endpoint POST /GroupV2/{groupId}/Members/IndividualInvite/{membershipType}/{membershipId}/
@required {groupId: any, membershipId: any, membershipType: any}
@returns(200)

@endpoint POST /GroupV2/{groupId}/Members/IndividualInviteCancel/{membershipType}/{membershipId}/
@required {groupId: any, membershipId: any, membershipType: any}
@returns(200)

@endgroup

@group Tokens
@endpoint POST /Tokens/Partner/ForceDropsRepair/
@returns(200)

@endpoint POST /Tokens/Partner/ClaimOffer/
@returns(200)

@endpoint POST /Tokens/Partner/ApplyMissingOffers/{partnerApplicationId}/{targetBnetMembershipId}/
@required {partnerApplicationId: any, targetBnetMembershipId: any}
@returns(200)

@endpoint GET /Tokens/Partner/History/{partnerApplicationId}/{targetBnetMembershipId}/
@required {partnerApplicationId: any, targetBnetMembershipId: any}
@returns(200)

@endpoint GET /Tokens/Partner/History/{targetBnetMembershipId}/Application/{partnerApplicationId}/
@required {partnerApplicationId: any, targetBnetMembershipId: any}
@returns(200)

@endpoint GET /Tokens/Rewards/GetRewardsForUser/{membershipId}/
@required {membershipId: any}
@returns(200)

@endpoint GET /Tokens/Rewards/GetRewardsForPlatformUser/{membershipId}/{membershipType}/
@required {membershipId: any, membershipType: any}
@returns(200)

@endpoint GET /Tokens/Rewards/BungieRewards/
@returns(200)

@endgroup

@group Destiny2
@endpoint GET /Destiny2/Manifest/
@returns(200)

@endpoint GET /Destiny2/Manifest/{entityType}/{hashIdentifier}/
@required {entityType: any, hashIdentifier: any}
@returns(200)

@endpoint POST /Destiny2/SearchDestinyPlayerByBungieName/{membershipType}/
@required {membershipType: any}
@returns(200)

@endpoint GET /Destiny2/{membershipType}/Profile/{membershipId}/LinkedProfiles/
@required {membershipId: any, membershipType: any}
@optional {getAllMemberships: any}
@returns(200)

@endpoint GET /Destiny2/{membershipType}/Profile/{destinyMembershipId}/
@required {destinyMembershipId: any, membershipType: any}
@optional {components: any}
@returns(200)

@endpoint GET /Destiny2/{membershipType}/Profile/{destinyMembershipId}/Character/{characterId}/
@required {characterId: any, destinyMembershipId: any, membershipType: any}
@optional {components: any}
@returns(200)

@endpoint GET /Destiny2/Clan/{groupId}/WeeklyRewardState/
@required {groupId: any}
@returns(200)

@endpoint GET /Destiny2/Clan/ClanBannerDictionary/
@returns(200)

@endpoint GET /Destiny2/{membershipType}/Profile/{destinyMembershipId}/Item/{itemInstanceId}/
@required {destinyMembershipId: any, itemInstanceId: any, membershipType: any}
@optional {components: any}
@returns(200)

@endpoint GET /Destiny2/{membershipType}/Profile/{destinyMembershipId}/Character/{characterId}/Vendors/
@required {characterId: any, destinyMembershipId: any, membershipType: any}
@optional {components: any, filter: any}
@returns(200)

@endpoint GET /Destiny2/{membershipType}/Profile/{destinyMembershipId}/Character/{characterId}/Vendors/{vendorHash}/
@required {characterId: any, destinyMembershipId: any, membershipType: any, vendorHash: any}
@optional {components: any}
@returns(200)

@endpoint GET /Destiny2/Vendors/
@optional {components: any}
@returns(200)

@endpoint GET /Destiny2/{membershipType}/Profile/{destinyMembershipId}/Character/{characterId}/Collectibles/{collectiblePresentationNodeHash}/
@required {characterId: any, collectiblePresentationNodeHash: any, destinyMembershipId: any, membershipType: any}
@optional {components: any}
@returns(200)

@endpoint POST /Destiny2/Actions/Items/TransferItem/
@returns(200)

@endpoint POST /Destiny2/Actions/Items/PullFromPostmaster/
@returns(200)

@endpoint POST /Destiny2/Actions/Items/EquipItem/
@returns(200)

@endpoint POST /Destiny2/Actions/Items/EquipItems/
@returns(200)

@endpoint POST /Destiny2/Actions/Loadouts/EquipLoadout/
@returns(200)

@endpoint POST /Destiny2/Actions/Loadouts/SnapshotLoadout/
@returns(200)

@endpoint POST /Destiny2/Actions/Loadouts/UpdateLoadoutIdentifiers/
@returns(200)

@endpoint POST /Destiny2/Actions/Loadouts/ClearLoadout/
@returns(200)

@endpoint POST /Destiny2/Actions/Items/SetLockState/
@returns(200)

@endpoint POST /Destiny2/Actions/Items/SetTrackedState/
@returns(200)

@endpoint POST /Destiny2/Actions/Items/InsertSocketPlug/
@returns(200)

@endpoint POST /Destiny2/Actions/Items/InsertSocketPlugFree/
@returns(200)

@endpoint GET /Destiny2/Stats/PostGameCarnageReport/{activityId}/
@required {activityId: any}
@returns(200)

@endpoint POST /Destiny2/Stats/PostGameCarnageReport/{activityId}/Report/
@required {activityId: any}
@returns(200)

@endpoint GET /Destiny2/Stats/Definition/
@returns(200)

@endpoint GET /Destiny2/Stats/Leaderboards/Clans/{groupId}/
@required {groupId: any}
@optional {maxtop: any, modes: any, statid: any}
@returns(200)

@endpoint GET /Destiny2/Stats/AggregateClanStats/{groupId}/
@required {groupId: any}
@optional {modes: any}
@returns(200)

@endpoint GET /Destiny2/{membershipType}/Account/{destinyMembershipId}/Stats/Leaderboards/
@required {destinyMembershipId: any, membershipType: any}
@optional {maxtop: any, modes: any, statid: any}
@returns(200)

@endpoint GET /Destiny2/Stats/Leaderboards/{membershipType}/{destinyMembershipId}/{characterId}/
@required {characterId: any, destinyMembershipId: any, membershipType: any}
@optional {maxtop: any, modes: any, statid: any}
@returns(200)

@endpoint GET /Destiny2/Armory/Search/{type}/{searchTerm}/
@required {searchTerm: any, type: any}
@optional {page: any}
@returns(200)

@endpoint GET /Destiny2/{membershipType}/Account/{destinyMembershipId}/Character/{characterId}/Stats/
@required {characterId: any, destinyMembershipId: any, membershipType: any}
@optional {dayend: any, daystart: any, groups: any, modes: any, periodType: any}
@returns(200)

@endpoint GET /Destiny2/{membershipType}/Account/{destinyMembershipId}/Stats/
@required {destinyMembershipId: any, membershipType: any}
@optional {groups: any}
@returns(200)

@endpoint GET /Destiny2/{membershipType}/Account/{destinyMembershipId}/Character/{characterId}/Stats/Activities/
@required {characterId: any, destinyMembershipId: any, membershipType: any}
@optional {count: any, mode: any, page: any}
@returns(200)

@endpoint GET /Destiny2/{membershipType}/Account/{destinyMembershipId}/Character/{characterId}/Stats/UniqueWeapons/
@required {characterId: any, destinyMembershipId: any, membershipType: any}
@returns(200)

@endpoint GET /Destiny2/{membershipType}/Account/{destinyMembershipId}/Character/{characterId}/Stats/AggregateActivityStats/
@required {characterId: any, destinyMembershipId: any, membershipType: any}
@returns(200)

@endpoint GET /Destiny2/Milestones/{milestoneHash}/Content/
@required {milestoneHash: any}
@returns(200)

@endpoint GET /Destiny2/Milestones/
@returns(200)

@endpoint POST /Destiny2/Awa/Initialize/
@returns(200)

@endpoint POST /Destiny2/Awa/AwaProvideAuthorizationResult/
@returns(200)

@endpoint GET /Destiny2/Awa/GetActionToken/{correlationId}/
@required {correlationId: any}
@returns(200)

@endgroup

@group CommunityContent
@endpoint GET /CommunityContent/Get/{sort}/{mediaFilter}/{page}/
@required {mediaFilter: any, page: any, sort: any}
@returns(200)

@endgroup

@group Trending
@endpoint GET /Trending/Categories/
@returns(200)

@endpoint GET /Trending/Categories/{categoryId}/{pageNumber}/
@required {categoryId: any, pageNumber: any}
@returns(200)

@endpoint GET /Trending/Details/{trendingEntryType}/{identifier}/
@required {identifier: any, trendingEntryType: any}
@returns(200)

@endgroup

@group Fireteam
@endpoint GET /Fireteam/Clan/{groupId}/ActiveCount/
@required {groupId: any}
@returns(200)

@endpoint GET /Fireteam/Clan/{groupId}/Available/{platform}/{activityType}/{dateRange}/{slotFilter}/{publicOnly}/{page}/
@required {activityType: any, dateRange: any, groupId: any, page: any, platform: any, publicOnly: any, slotFilter: any}
@optional {excludeImmediate: any, langFilter: any}
@returns(200)

@endpoint GET /Fireteam/Search/Available/{platform}/{activityType}/{dateRange}/{slotFilter}/{page}/
@required {activityType: any, dateRange: any, page: any, platform: any, slotFilter: any}
@optional {excludeImmediate: any, langFilter: any}
@returns(200)

@endpoint GET /Fireteam/Clan/{groupId}/My/{platform}/{includeClosed}/{page}/
@required {groupId: any, includeClosed: any, page: any, platform: any}
@optional {groupFilter: any, langFilter: any}
@returns(200)

@endpoint GET /Fireteam/Clan/{groupId}/Summary/{fireteamId}/
@required {fireteamId: any, groupId: any}
@returns(200)

@endgroup

@group Social
@endpoint GET /Social/Friends/
@returns(200)

@endpoint GET /Social/Friends/Requests/
@returns(200)

@endpoint POST /Social/Friends/Add/{membershipId}/
@required {membershipId: any}
@returns(200)

@endpoint POST /Social/Friends/Requests/Accept/{membershipId}/
@required {membershipId: any}
@returns(200)

@endpoint POST /Social/Friends/Requests/Decline/{membershipId}/
@required {membershipId: any}
@returns(200)

@endpoint POST /Social/Friends/Remove/{membershipId}/
@required {membershipId: any}
@returns(200)

@endpoint POST /Social/Friends/Requests/Remove/{membershipId}/
@required {membershipId: any}
@returns(200)

@endpoint GET /Social/PlatformFriends/{friendPlatform}/{page}/
@required {friendPlatform: any, page: any}
@returns(200)

@endgroup

@group GetAvailableLocales
@endpoint GET /GetAvailableLocales/
@returns(200)

@endgroup

@group Settings
@endpoint GET /Settings/
@returns(200)

@endgroup

@group UserSystemOverrides
@endpoint GET /UserSystemOverrides/
@returns(200)

@endgroup

@group GlobalAlerts
@endpoint GET /GlobalAlerts/
@optional {includestreaming: any}
@returns(200)

@endgroup

@end
