Skip to content

A C# library for accessing the Bungie.net Destiny 2 API built on the OpenAPI Specification using Swagger

License

Notifications You must be signed in to change notification settings

xlxCLUxlx/BungieNetPlatform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BungieNetPlatform - the C# library for the Bungie.Net API

These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.

This C# SDK is automatically generated by the Swagger Codegen project:

  • API version: 2.1.1
  • SDK version: 2.1.3
  • Build package: io.swagger.codegen.languages.CSharpClientCodegen For more information, please visit https://github.com/Bungie-net/api

Frameworks supported

  • .NET 4.0 or later
  • Windows Phone 7.1 (Mango)

Dependencies

The DLLs included in the package may not be the latest version. We recommend using [NuGet] (https://docs.nuget.org/consume/installing-nuget) to obtain the latest version of the packages:

Install-Package RestSharp
Install-Package Newtonsoft.Json

NOTE: RestSharp versions greater than 105.1.0 have a bug which causes file uploads to fail. See RestSharp#742

Installation

Run the following command to generate the DLL

  • [Mac/Linux] /bin/sh build.sh
  • [Windows] build.bat

Then include the DLL (under the bin folder) in the C# project, and use the namespaces:

using BungieNetPlatform.Api;
using BungieNetPlatform.Client;
using BungieNetPlatform.Model;

Packaging

A .nuspec is included with the project. You can follow the Nuget quickstart to create and publish packages.

This .nuspec uses placeholders from the .csproj, so build the .csproj directly:

nuget pack -Build -OutputDirectory out BungieNetPlatform.csproj

Then, publish to a local feed or other host and consume the new package via Nuget as usual.

Getting Started

using System;
using System.Diagnostics;
using BungieNetPlatform.Api;
using BungieNetPlatform.Client;
using BungieNetPlatform.Model;

namespace Example
{
    public class Example
    {
        public void main()
        {

            var apiInstance = new CommunityContentApi();
            var mediaFilter = 56;  // int? | The type of media to get
            var page = 56;  // int? | Zero based page
            var sort = 56;  // int? | The sort mode.

            try
            {
                InlineResponse2006 result = apiInstance.CommunityContentGetCommunityContent(mediaFilter, page, sort);
                Debug.WriteLine(result);
            }
            catch (Exception e)
            {
                Debug.Print("Exception when calling CommunityContentApi.CommunityContentGetCommunityContent: " + e.Message );
            }

        }
    }
}

Documentation for API Endpoints

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

Class Method HTTP request Description
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}/
Destiny2Api Destiny2ActivateTalentNode POST /Destiny2/Actions/Items/ActivateTalentNode/
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 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 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 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/
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 Destiny2ActivateTalentNode POST /Destiny2/Actions/Items/ActivateTalentNode/
PreviewApi Destiny2GetActivityHistory GET /Destiny2/{membershipType}/Account/{destinyMembershipId}/Character/{characterId}/Stats/Activities/
PreviewApi Destiny2GetClanAggregateStats GET /Destiny2/Stats/AggregateClanStats/{groupId}/
PreviewApi Destiny2GetClanLeaderboards GET /Destiny2/Stats/Leaderboards/Clans/{groupId}/
PreviewApi Destiny2GetDestinyAggregateActivityStats GET /Destiny2/{membershipType}/Account/{destinyMembershipId}/Character/{characterId}/Stats/AggregateActivityStats/
PreviewApi Destiny2GetHistoricalStats GET /Destiny2/{membershipType}/Account/{destinyMembershipId}/Character/{characterId}/Stats/
PreviewApi Destiny2GetHistoricalStatsForAccount GET /Destiny2/{membershipType}/Account/{destinyMembershipId}/Stats/
PreviewApi Destiny2GetLeaderboards GET /Destiny2/{membershipType}/Account/{destinyMembershipId}/Stats/Leaderboards/
PreviewApi Destiny2GetLeaderboardsForCharacter GET /Destiny2/Stats/Leaderboards/{membershipType}/{destinyMembershipId}/{characterId}/
PreviewApi Destiny2GetUniqueWeaponHistory GET /Destiny2/{membershipType}/Account/{destinyMembershipId}/Character/{characterId}/Stats/UniqueWeapons/
PreviewApi Destiny2GetVendor GET /Destiny2/{membershipType}/Profile/{destinyMembershipId}/Character/{characterId}/Vendors/{vendorHash}/
PreviewApi Destiny2GetVendors GET /Destiny2/{membershipType}/Profile/{destinyMembershipId}/Character/{characterId}/Vendors/
PreviewApi Destiny2InsertSocketPlug POST /Destiny2/Actions/Items/InsertSocketPlug/
PreviewApi Destiny2SearchDestinyEntities GET /Destiny2/Armory/Search/{type}/{searchTerm}/
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 UserGetUserAliases GET /User/GetUserAliases/{id}/
UserApi UserSearchUsers GET /User/SearchUsers/

Documentation for Models

Documentation for Authorization

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 Inventory and Vault contents.
    • 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.
    • ReadAndApplyTokens: Read offer history and claim and apply tokens for the user.

About

A C# library for accessing the Bungie.net Destiny 2 API built on the OpenAPI Specification using Swagger

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages