Skip to content

Latest commit

 

History

History
920 lines (873 loc) · 85.3 KB

README.md

File metadata and controls

920 lines (873 loc) · 85.3 KB

bungie-net-sdk

Requirements

Building the API client library requires Maven to be installed.

Installation

To install the API client library to your local Maven repository, simply execute:

mvn install

To deploy it to a remote Maven repository instead, configure the settings of the repository and execute:

mvn deploy

Refer to the official documentation for more information.

Maven users

Add this dependency to your project's POM:

<dependency>
    <groupId>uk.co.bluedust</groupId>
    <artifactId>bungie-net-sdk</artifactId>
    <version>1.0.5</version>
    <scope>compile</scope>
</dependency>

Gradle users

Add this dependency to your project's build file:

compile "uk.co.bluedust:bungie-net-sdk:1.0.5"

Others

At first generate the JAR by executing:

mvn package

Then manually install the following JARs:

  • target/bungie-net-sdk-1.0.5.jar
  • target/lib/*.jar

Getting Started

Please follow the installation instruction and execute the following Java code:

import uk.co.bluedust.*;
import uk.co.bluedust.auth.*;
import uk.co.bluedust.model.*;
import uk.co.bluedust.api.DefaultApi;

import java.io.File;
import java.util.*;

public class DefaultApiExample {

    public static void main(String[] args) {
        ApiClient defaultClient = Configuration.getDefaultApiClient();
        
        // Configure API key authorization: apiKey
        ApiKeyAuth apiKey = (ApiKeyAuth) defaultClient.getAuthentication("apiKey");
        apiKey.setApiKey("YOUR API KEY");
        // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
        //apiKey.setApiKeyPrefix("Token");

        DefaultApi apiInstance = new DefaultApi();
        try {
            InlineResponse20016 result = apiInstance.getAvailableLocales();
            System.out.println(result);
        } catch (ApiException e) {
            System.err.println("Exception when calling DefaultApi#getAvailableLocales");
            e.printStackTrace();
        }
    }
}

Documentation for API Endpoints

All URIs are relative to https://www.bungie.net/Platform

Class Method HTTP request Description
DefaultApi getAvailableLocales GET /GetAvailableLocales/
DefaultApi getCommonSettings GET /Settings/
DefaultApi getGlobalAlerts GET /GlobalAlerts/
AppApi appGetApplicationApiUsage GET /App/ApiUsage/{applicationId}/
AppApi appGetBungieApplications GET /App/FirstParty/
CommunityContentApi communityContentGetCommunityContent GET /CommunityContent/Get/{sort}/{mediaFilter}/{page}/
CommunityContentApi communityContentGetCommunityLiveStatuses GET /CommunityContent/Live/All/{partnershipType}/{sort}/{page}/
CommunityContentApi communityContentGetCommunityLiveStatusesForClanmates GET /CommunityContent/Live/Clan/{partnershipType}/{sort}/{page}/
CommunityContentApi communityContentGetCommunityLiveStatusesForFriends GET /CommunityContent/Live/Friends/{partnershipType}/{sort}/{page}/
CommunityContentApi communityContentGetFeaturedCommunityLiveStatuses GET /CommunityContent/Live/Featured/{partnershipType}/{sort}/{page}/
CommunityContentApi communityContentGetStreamingStatusForMember GET /CommunityContent/Live/Users/{partnershipType}/{membershipType}/{membershipId}/
ContentApi contentGetContentById GET /Content/GetContentById/{id}/{locale}/
ContentApi contentGetContentByTagAndType GET /Content/GetContentByTagAndType/{tag}/{type}/{locale}/
ContentApi contentGetContentType GET /Content/GetContentType/{type}/
ContentApi contentSearchContentByTagAndType GET /Content/SearchContentByTagAndType/{tag}/{type}/{locale}/
ContentApi contentSearchContentWithText GET /Content/Search/{locale}/
Destiny2Api destiny2AwaGetActionToken GET /Destiny2/Awa/GetActionToken/{correlationId}/
Destiny2Api destiny2AwaInitializeRequest POST /Destiny2/Awa/Initialize/
Destiny2Api destiny2AwaProvideAuthorizationResult POST /Destiny2/Awa/AwaProvideAuthorizationResult/
Destiny2Api destiny2EquipItem POST /Destiny2/Actions/Items/EquipItem/
Destiny2Api destiny2EquipItems POST /Destiny2/Actions/Items/EquipItems/
Destiny2Api destiny2GetActivityHistory GET /Destiny2/{membershipType}/Account/{destinyMembershipId}/Character/{characterId}/Stats/Activities/
Destiny2Api destiny2GetCharacter GET /Destiny2/{membershipType}/Profile/{destinyMembershipId}/Character/{characterId}/
Destiny2Api destiny2GetClanAggregateStats GET /Destiny2/Stats/AggregateClanStats/{groupId}/
Destiny2Api destiny2GetClanLeaderboards GET /Destiny2/Stats/Leaderboards/Clans/{groupId}/
Destiny2Api destiny2GetClanWeeklyRewardState GET /Destiny2/Clan/{groupId}/WeeklyRewardState/
Destiny2Api destiny2GetCollectibleNodeDetails GET /Destiny2/{membershipType}/Profile/{destinyMembershipId}/Character/{characterId}/Collectibles/{collectiblePresentationNodeHash}/
Destiny2Api destiny2GetDestinyAggregateActivityStats GET /Destiny2/{membershipType}/Account/{destinyMembershipId}/Character/{characterId}/Stats/AggregateActivityStats/
Destiny2Api destiny2GetDestinyEntityDefinition GET /Destiny2/Manifest/{entityType}/{hashIdentifier}/
Destiny2Api destiny2GetDestinyManifest GET /Destiny2/Manifest/
Destiny2Api destiny2GetHistoricalStats GET /Destiny2/{membershipType}/Account/{destinyMembershipId}/Character/{characterId}/Stats/
Destiny2Api destiny2GetHistoricalStatsDefinition GET /Destiny2/Stats/Definition/
Destiny2Api destiny2GetHistoricalStatsForAccount GET /Destiny2/{membershipType}/Account/{destinyMembershipId}/Stats/
Destiny2Api destiny2GetItem GET /Destiny2/{membershipType}/Profile/{destinyMembershipId}/Item/{itemInstanceId}/
Destiny2Api destiny2GetLeaderboards GET /Destiny2/{membershipType}/Account/{destinyMembershipId}/Stats/Leaderboards/
Destiny2Api destiny2GetLeaderboardsForCharacter GET /Destiny2/Stats/Leaderboards/{membershipType}/{destinyMembershipId}/{characterId}/
Destiny2Api destiny2GetLinkedProfiles GET /Destiny2/{membershipType}/Profile/{membershipId}/LinkedProfiles/
Destiny2Api destiny2GetPostGameCarnageReport GET /Destiny2/Stats/PostGameCarnageReport/{activityId}/
Destiny2Api destiny2GetProfile GET /Destiny2/{membershipType}/Profile/{destinyMembershipId}/
Destiny2Api destiny2GetPublicMilestoneContent GET /Destiny2/Milestones/{milestoneHash}/Content/
Destiny2Api destiny2GetPublicMilestones GET /Destiny2/Milestones/
Destiny2Api destiny2GetUniqueWeaponHistory GET /Destiny2/{membershipType}/Account/{destinyMembershipId}/Character/{characterId}/Stats/UniqueWeapons/
Destiny2Api destiny2GetVendor GET /Destiny2/{membershipType}/Profile/{destinyMembershipId}/Character/{characterId}/Vendors/{vendorHash}/
Destiny2Api destiny2GetVendors GET /Destiny2/{membershipType}/Profile/{destinyMembershipId}/Character/{characterId}/Vendors/
Destiny2Api destiny2InsertSocketPlug POST /Destiny2/Actions/Items/InsertSocketPlug/
Destiny2Api destiny2PullFromPostmaster POST /Destiny2/Actions/Items/PullFromPostmaster/
Destiny2Api destiny2ReportOffensivePostGameCarnageReportPlayer POST /Destiny2/Stats/PostGameCarnageReport/{activityId}/Report/
Destiny2Api destiny2SearchDestinyEntities GET /Destiny2/Armory/Search/{type}/{searchTerm}/
Destiny2Api destiny2SearchDestinyPlayer GET /Destiny2/SearchDestinyPlayer/{membershipType}/{displayName}/
Destiny2Api destiny2SetItemLockState POST /Destiny2/Actions/Items/SetLockState/
Destiny2Api destiny2TransferItem POST /Destiny2/Actions/Items/TransferItem/
FireteamApi fireteamGetActivePrivateClanFireteamCount GET /Fireteam/Clan/{groupId}/ActiveCount/
FireteamApi fireteamGetAvailableClanFireteams GET /Fireteam/Clan/{groupId}/Available/{platform}/{activityType}/{dateRange}/{slotFilter}/{publicOnly}/{page}/
FireteamApi fireteamGetClanFireteam GET /Fireteam/Clan/{groupId}/Summary/{fireteamId}/
FireteamApi fireteamGetMyClanFireteams GET /Fireteam/Clan/{groupId}/My/{platform}/{includeClosed}/{page}/
FireteamApi fireteamSearchPublicAvailableClanFireteams GET /Fireteam/Search/Available/{platform}/{activityType}/{dateRange}/{slotFilter}/{page}/
ForumApi forumApproveFireteamThread POST /Forum/Recruit/Approve/{topicId}/
ForumApi forumGetCoreTopicsPaged GET /Forum/GetCoreTopicsPaged/{page}/{sort}/{quickDate}/{categoryFilter}/
ForumApi forumGetForumTagSuggestions GET /Forum/GetForumTagSuggestions/
ForumApi forumGetPoll GET /Forum/Poll/{topicId}/
ForumApi forumGetPostAndParent GET /Forum/GetPostAndParent/{childPostId}/
ForumApi forumGetPostAndParentAwaitingApproval GET /Forum/GetPostAndParentAwaitingApproval/{childPostId}/
ForumApi forumGetPostsThreadedPaged GET /Forum/GetPostsThreadedPaged/{parentPostId}/{page}/{pageSize}/{replySize}/{getParentPost}/{rootThreadMode}/{sortMode}/
ForumApi forumGetPostsThreadedPagedFromChild GET /Forum/GetPostsThreadedPagedFromChild/{childPostId}/{page}/{pageSize}/{replySize}/{rootThreadMode}/{sortMode}/
ForumApi forumGetRecruitmentThreadSummaries POST /Forum/Recruit/Summaries/
ForumApi forumGetTopicForContent GET /Forum/GetTopicForContent/{contentId}/
ForumApi forumGetTopicsPaged GET /Forum/GetTopicsPaged/{page}/{pageSize}/{group}/{sort}/{quickDate}/{categoryFilter}/
ForumApi forumJoinFireteamThread POST /Forum/Recruit/Join/{topicId}/
ForumApi forumKickBanFireteamApplicant POST /Forum/Recruit/KickBan/{topicId}/{targetMembershipId}/
ForumApi forumLeaveFireteamThread POST /Forum/Recruit/Leave/{topicId}/
GroupV2Api groupV2AbdicateFoundership POST /GroupV2/{groupId}/Admin/AbdicateFoundership/{membershipType}/{founderIdNew}/
GroupV2Api groupV2AddOptionalConversation POST /GroupV2/{groupId}/OptionalConversations/Add/
GroupV2Api groupV2ApproveAllPending POST /GroupV2/{groupId}/Members/ApproveAll/
GroupV2Api groupV2ApprovePending POST /GroupV2/{groupId}/Members/Approve/{membershipType}/{membershipId}/
GroupV2Api groupV2ApprovePendingForList POST /GroupV2/{groupId}/Members/ApproveList/
GroupV2Api groupV2BanMember POST /GroupV2/{groupId}/Members/{membershipType}/{membershipId}/Ban/
GroupV2Api groupV2CreateGroup POST /GroupV2/Create/
GroupV2Api groupV2DenyAllPending POST /GroupV2/{groupId}/Members/DenyAll/
GroupV2Api groupV2DenyPendingForList POST /GroupV2/{groupId}/Members/DenyList/
GroupV2Api groupV2EditClanBanner POST /GroupV2/{groupId}/EditClanBanner/
GroupV2Api groupV2EditFounderOptions POST /GroupV2/{groupId}/EditFounderOptions/
GroupV2Api groupV2EditGroup POST /GroupV2/{groupId}/Edit/
GroupV2Api groupV2EditGroupMembership POST /GroupV2/{groupId}/Members/{membershipType}/{membershipId}/SetMembershipType/{memberType}/
GroupV2Api groupV2EditOptionalConversation POST /GroupV2/{groupId}/OptionalConversations/Edit/{conversationId}/
GroupV2Api groupV2GetAdminsAndFounderOfGroup GET /GroupV2/{groupId}/AdminsAndFounder/
GroupV2Api groupV2GetAvailableAvatars GET /GroupV2/GetAvailableAvatars/
GroupV2Api groupV2GetAvailableThemes GET /GroupV2/GetAvailableThemes/
GroupV2Api groupV2GetBannedMembersOfGroup GET /GroupV2/{groupId}/Banned/
GroupV2Api groupV2GetGroup GET /GroupV2/{groupId}/
GroupV2Api groupV2GetGroupByName GET /GroupV2/Name/{groupName}/{groupType}/
GroupV2Api groupV2GetGroupOptionalConversations GET /GroupV2/{groupId}/OptionalConversations/
GroupV2Api groupV2GetGroupsForMember GET /GroupV2/User/{membershipType}/{membershipId}/{filter}/{groupType}/
GroupV2Api groupV2GetInvitedIndividuals GET /GroupV2/{groupId}/Members/InvitedIndividuals/
GroupV2Api groupV2GetMembersOfGroup GET /GroupV2/{groupId}/Members/
GroupV2Api groupV2GetPendingMemberships GET /GroupV2/{groupId}/Members/Pending/
GroupV2Api groupV2GetPotentialGroupsForMember GET /GroupV2/User/Potential/{membershipType}/{membershipId}/{filter}/{groupType}/
GroupV2Api groupV2GetRecommendedGroups POST /GroupV2/Recommended/{groupType}/{createDateRange}/
GroupV2Api groupV2GetUserClanInviteSetting GET /GroupV2/GetUserClanInviteSetting/{mType}/
GroupV2Api groupV2GroupSearch POST /GroupV2/Search/
GroupV2Api groupV2IndividualGroupInvite POST /GroupV2/{groupId}/Members/IndividualInvite/{membershipType}/{membershipId}/
GroupV2Api groupV2IndividualGroupInviteCancel POST /GroupV2/{groupId}/Members/IndividualInviteCancel/{membershipType}/{membershipId}/
GroupV2Api groupV2KickMember POST /GroupV2/{groupId}/Members/{membershipType}/{membershipId}/Kick/
GroupV2Api groupV2RequestGroupMembership POST /GroupV2/{groupId}/Members/Apply/{membershipType}/
GroupV2Api groupV2RescindGroupMembership POST /GroupV2/{groupId}/Members/Rescind/{membershipType}/
GroupV2Api groupV2SetUserClanInviteSetting POST /GroupV2/SetUserClanInviteSetting/{mType}/{allowInvites}/
GroupV2Api groupV2UnbanMember POST /GroupV2/{groupId}/Members/{membershipType}/{membershipId}/Unban/
PreviewApi destiny2GetClanAggregateStats GET /Destiny2/Stats/AggregateClanStats/{groupId}/
PreviewApi destiny2GetClanLeaderboards GET /Destiny2/Stats/Leaderboards/Clans/{groupId}/
PreviewApi destiny2GetLeaderboards GET /Destiny2/{membershipType}/Account/{destinyMembershipId}/Stats/Leaderboards/
PreviewApi destiny2GetLeaderboardsForCharacter GET /Destiny2/Stats/Leaderboards/{membershipType}/{destinyMembershipId}/{characterId}/
PreviewApi destiny2InsertSocketPlug POST /Destiny2/Actions/Items/InsertSocketPlug/
TrendingApi trendingGetTrendingCategories GET /Trending/Categories/
TrendingApi trendingGetTrendingCategory GET /Trending/Categories/{categoryId}/{pageNumber}/
TrendingApi trendingGetTrendingEntryDetail GET /Trending/Details/{trendingEntryType}/{identifier}/
UserApi userGetAvailableThemes GET /User/GetAvailableThemes/
UserApi userGetBungieNetUserById GET /User/GetBungieNetUserById/{id}/
UserApi userGetMembershipDataById GET /User/GetMembershipsById/{membershipId}/{membershipType}/
UserApi userGetMembershipDataForCurrentUser GET /User/GetMembershipsForCurrentUser/
UserApi userGetPartnerships GET /User/{membershipId}/Partnerships/
UserApi userSearchUsers GET /User/SearchUsers/

Documentation for Models

Documentation for Authorization

Authentication schemes defined for the API:

apiKey

  • Type: API key
  • API key parameter name: X-API-Key
  • Location: HTTP header

oauth2

  • Type: OAuth
  • Flow: accessCode
  • Authorization URL: https://www.bungie.net/en/OAuth/Authorize
  • Scopes:
    • ReadBasicUserProfile: Read basic user profile information such as the user's handle, avatar icon, etc.
    • ReadGroups: Read Group/Clan Forums, Wall, and Members for groups and clans that the user has joined.
    • WriteGroups: Write Group/Clan Forums, Wall, and Members for groups and clans that the user has joined.
    • AdminGroups: Administer Group/Clan Forums, Wall, and Members for groups and clans that the user is a founder or an administrator.
    • BnetWrite: Create new groups, clans, and forum posts.
    • MoveEquipDestinyItems: Move or equip Destiny items
    • ReadDestinyInventoryAndVault: Read Destiny 1 Inventory and Vault contents. For Destiny 2, this scope is needed to read anything regarded as private. This is the only scope a Destiny 2 app needs for read operations against Destiny 2 data such as inventory, vault, currency, vendors, milestones, progression, etc.
    • ReadUserData: Read user data such as who they are web notifications, clan/group memberships, recent activity, muted users.
    • EditUserData: Edit user data such as preferred language, status, motto, avatar selection and theme.
    • ReadDestinyVendorsAndAdvisors: Access vendor and advisor data specific to a user. OBSOLETE. This scope is only used on the Destiny 1 API.
    • ReadAndApplyTokens: Read offer history and claim and apply tokens for the user.
    • AdvancedWriteActions: Can perform actions that will result in a prompt to the user via the Destiny app.

Recommendation

It's recommended to create an instance of ApiClient per thread in a multithreaded environment to avoid any potential issues.

Author

support@bungie.com