Bungie.Net API

About the 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.

Connecting to the API

Server Endpoint

The endpoint for accessing the Bungie.net API. You probably guessed that already.

Common Headers

  • X-API-Key
    Required
    When you have registered an Application at https://www.bungie.net/en/Application, you will receive an API key. You should pass it in via this header with every request.

Security

apiKey

Identifier: X-API-Key
header
Every request requires an API key. To get an API key, register a new application at https://www.bungie.net/en/Application.

oauth2

For requests that require Authentication, you will need to have your users authenticate via our OAuth mechanisms. See https://github.com/Bungie-net/api/wiki/OAuth-Documentation for more details.

Authorization URL: https://www.bungie.net/en/OAuth/Authorize
Token URL: https://www.bungie.net/Platform/App/OAuth/token/
Refresh URL: https://www.bungie.net/Platform/App/OAuth/token/

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, along with other actions that are reserved for Bungie.net

    elevated scope: not meant to be used by third party applications.
  • 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.
  • PartnerOfferGrant
    Can user the partner offer api to claim rewards defined for a partner
  • DestinyUnlockValueQuery
    Allows an app to query sensitive information like unlock flags and values not available through normal methods.
  • UserPiiRead
    Allows an app to query sensitive user PII, most notably email information.

Contents - Endpoints (Grouped by Tag)

GroupV2

Destiny2

Contents - Entities

Endpoints

App.GetApplicationApiUsage

App

Verb: GET

Path: /App/ApiUsage/{applicationId}/

Get API usage by application for time frame specified. You can go as far back as 30 days ago, and can ask for up to a 48 hour window of time in a single request. You must be authenticated with at least the ReadUserData permission to access this endpoint.

Required Scope(s)

  • oauth2: ReadUserData

Path Parameters

  • applicationId
    ID of the application to get usage statistics.
    Type: int32

Querystring Parameters

  • end
    End time for query. Goes to now if not specified.
    Type: date-time
  • start
    Start time for query. Goes to 24 hours ago if not specified.
    Type: date-time

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

App.GetBungieApplications

App

Verb: GET

Path: /App/FirstParty/

Get list of applications created by Bungie.

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: array
Array Contents: Applications.Application
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

User.GetBungieNetUserById

User

Verb: GET

Path: /User/GetBungieNetUserById/{id}/

Loads a bungienet user by membership id.

Path Parameters

  • id
    The requested Bungie.net membership id.
    Type: int64

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

User.GetCredentialTypesForTargetAccount

User

Verb: GET

Path: /User/GetCredentialTypesForTargetAccount/{membershipId}/

Returns a list of credential types attached to the requested account

Path Parameters

  • membershipId
    The user's membership id
    Type: int64

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

User.GetAvailableThemes

User

Verb: GET

Path: /User/GetAvailableThemes/

Returns a list of all available user themes.

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: array
Array Contents: Config.UserTheme
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

User.GetMembershipDataById

User

Verb: GET

Path: /User/GetMembershipsById/{membershipId}/{membershipType}/

Returns a list of accounts associated with the supplied membership ID and membership type. This will include all linked accounts (even when hidden) if supplied credentials permit it.

Path Parameters

  • membershipId
    The membership ID of the target user.
    Type: int64
  • membershipType
    Type of the supplied membership ID.
    The types of membership the Accounts system supports. This is the external facing enum used in place of the internal-only Bungie.SharedDefinitions.MembershipType.
    Type: int32

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

User.GetMembershipDataForCurrentUser

User

Verb: GET

Path: /User/GetMembershipsForCurrentUser/

Returns a list of accounts associated with signed in user. This is useful for OAuth implementations that do not give you access to the token response.

Required Scope(s)

  • oauth2: ReadBasicUserProfile

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

User.GetMembershipFromHardLinkedCredential

User

Verb: GET

Path: /User/GetMembershipFromHardLinkedCredential/{crType}/{credential}/

Gets any hard linked membership given a credential. Only works for credentials that are public (just SteamID64 right now). Cross Save aware.

Path Parameters

  • credential
    The credential to look up. Must be a valid SteamID64.
    Type: string
  • crType
    The credential type. 'SteamId' is the only valid value at present.
    The types of credentials the Accounts system supports. This is the external facing enum used in place of the internal-only Bungie.SharedDefinitions.CredentialType.
    Type: byte

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

User.SearchByGlobalNamePrefix

User

Verb: GET

Path: /User/Search/Prefix/{displayNamePrefix}/{page}/

Given the prefix of a global display name, returns all users who share that name.

Path Parameters

  • displayNamePrefix
    The display name prefix you're looking for.
    Type: string
  • page
    The zero-based page of results you desire.
    Type: int32

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Content.GetContentType

Content

Verb: GET

Path: /Content/GetContentType/{type}/

Gets an object describing a particular variant of content.

Path Parameters

  • type
    Type: string

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Content.GetContentById

Content

Verb: GET

Path: /Content/GetContentById/{id}/{locale}/

Returns a content item referenced by id

Path Parameters

  • id
    Type: int64
  • locale
    Type: string

Querystring Parameters

  • head
    false
    Type: boolean

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Content.GetContentByTagAndType

Content

Verb: GET

Path: /Content/GetContentByTagAndType/{tag}/{type}/{locale}/

Returns the newest item that matches a given tag and Content Type.

Path Parameters

  • locale
    Type: string
  • tag
    Type: string
  • type
    Type: string

Querystring Parameters

  • head
    Not used.
    Type: boolean

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Content.SearchContentWithText

Content

Verb: GET

Path: /Content/Search/{locale}/

Gets content based on querystring information passed in. Provides basic search and text search capabilities.

Path Parameters

  • locale
    Type: string

Querystring Parameters

  • ctype
    Content type tag: Help, News, etc. Supply multiple ctypes separated by space.
    Type: string
  • currentpage
    Page number for the search results, starting with page 1.
    Type: int32
  • head
    Not used.
    Type: boolean
  • searchtext
    Word or phrase for the search.
    Type: string
  • source
    For analytics, hint at the part of the app that triggered the search. Optional.
    Type: string
  • tag
    Tag used on the content to be searched.
    Type: string

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Content.SearchContentByTagAndType

Content

Verb: GET

Path: /Content/SearchContentByTagAndType/{tag}/{type}/{locale}/

Searches for Content Items that match the given Tag and Content Type.

Path Parameters

  • locale
    Type: string
  • tag
    Type: string
  • type
    Type: string

Querystring Parameters

  • currentpage
    Page number for the search results starting with page 1.
    Type: int32
  • head
    Not used.
    Type: boolean
  • itemsperpage
    Not used.
    Type: int32

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Content.SearchHelpArticles

Content

Verb: GET

Path: /Content/SearchHelpArticles/{searchtext}/{size}/

Search for Help Articles.

Path Parameters

  • searchtext
    Type: string
  • size
    Type: string

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: object
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Forum.GetTopicsPaged

Forum

Verb: GET

Path: /Forum/GetTopicsPaged/{page}/{pageSize}/{group}/{sort}/{quickDate}/{categoryFilter}/

Get topics from any forum.

Path Parameters

  • categoryFilter
    A category filter
    Type: int32
  • group
    The group, if any.
    Type: int64
  • page
    Zero paged page number
    Type: int32
  • pageSize
    Unused
    Type: int32
  • quickDate
    A date filter.
    Type: int32
  • sort
    The sort mode.
    Type: byte

Querystring Parameters

  • locales
    Comma seperated list of locales posts must match to return in the result list. Default 'en'
    Type: string
  • tagstring
    The tags to search, if any.
    Type: string

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Forum.GetCoreTopicsPaged

Forum

Verb: GET

Path: /Forum/GetCoreTopicsPaged/{page}/{sort}/{quickDate}/{categoryFilter}/

Gets a listing of all topics marked as part of the core group.

Path Parameters

  • categoryFilter
    The category filter.
    Type: int32
  • page
    Zero base page
    Type: int32
  • quickDate
    The date filter.
    Type: int32
  • sort
    The sort mode.
    Type: byte

Querystring Parameters

  • locales
    Comma seperated list of locales posts must match to return in the result list. Default 'en'
    Type: string

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Forum.GetPostsThreadedPaged

Forum

Verb: GET

Path: /Forum/GetPostsThreadedPaged/{parentPostId}/{page}/{pageSize}/{replySize}/{getParentPost}/{rootThreadMode}/{sortMode}/

Returns a thread of posts at the given parent, optionally returning replies to those posts as well as the original parent.

Path Parameters

  • getParentPost
    Type: boolean
  • page
    Type: int32
  • pageSize
    Type: int32
  • parentPostId
    Type: int64
  • replySize
    Type: int32
  • rootThreadMode
    Type: boolean
  • sortMode
    Type: int32

Querystring Parameters

  • showbanned
    If this value is not null or empty, banned posts are requested to be returned
    Type: string

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Forum.GetPostsThreadedPagedFromChild

Forum

Verb: GET

Path: /Forum/GetPostsThreadedPagedFromChild/{childPostId}/{page}/{pageSize}/{replySize}/{rootThreadMode}/{sortMode}/

Returns a thread of posts starting at the topicId of the input childPostId, optionally returning replies to those posts as well as the original parent.

Path Parameters

  • childPostId
    Type: int64
  • page
    Type: int32
  • pageSize
    Type: int32
  • replySize
    Type: int32
  • rootThreadMode
    Type: boolean
  • sortMode
    Type: int32

Querystring Parameters

  • showbanned
    If this value is not null or empty, banned posts are requested to be returned
    Type: string

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Forum.GetPostAndParent

Forum

Verb: GET

Path: /Forum/GetPostAndParent/{childPostId}/

Returns the post specified and its immediate parent.

Path Parameters

  • childPostId
    Type: int64

Querystring Parameters

  • showbanned
    If this value is not null or empty, banned posts are requested to be returned
    Type: string

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Forum.GetPostAndParentAwaitingApproval

Forum

Verb: GET

Path: /Forum/GetPostAndParentAwaitingApproval/{childPostId}/

Returns the post specified and its immediate parent of posts that are awaiting approval.

Path Parameters

  • childPostId
    Type: int64

Querystring Parameters

  • showbanned
    If this value is not null or empty, banned posts are requested to be returned
    Type: string

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Forum.GetTopicForContent

Forum

Verb: GET

Path: /Forum/GetTopicForContent/{contentId}/

Gets the post Id for the given content item's comments, if it exists.

Path Parameters

  • contentId
    Type: int64

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: int64
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Forum.GetForumTagSuggestions

Forum

Verb: GET

Path: /Forum/GetForumTagSuggestions/

Gets tag suggestions based on partial text entry, matching them with other tags previously used in the forums.

Querystring Parameters

  • partialtag
    The partial tag input to generate suggestions from.
    Type: string

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: array
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Forum.GetPoll

Forum

Verb: GET

Path: /Forum/Poll/{topicId}/

Gets the specified forum poll.

Path Parameters

  • topicId
    The post id of the topic that has the poll.
    Type: int64

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Forum.GetRecruitmentThreadSummaries

Forum

Verb: POST

Path: /Forum/Recruit/Summaries/

Allows the caller to get a list of to 25 recruitment thread summary information objects.

Request Body

Type: array
Array Contents: int64

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: array
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

GroupV2.GetAvailableAvatars

GroupV2

Verb: GET

Path: /GroupV2/GetAvailableAvatars/

Returns a list of all available group avatars for the signed-in user.

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: object
Dictionary Contents: string
Dictionary Key Type: int32
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

GroupV2.GetAvailableThemes

GroupV2

Verb: GET

Path: /GroupV2/GetAvailableThemes/

Returns a list of all available group themes.

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: array
Array Contents: Config.GroupTheme
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

GroupV2.GetUserClanInviteSetting

GroupV2

Verb: GET

Path: /GroupV2/GetUserClanInviteSetting/{mType}/

Gets the state of the user's clan invite preferences for a particular membership type - true if they wish to be invited to clans, false otherwise.

Required Scope(s)

  • oauth2: ReadUserData

Path Parameters

  • mType
    The Destiny membership type of the account we wish to access settings.
    The types of membership the Accounts system supports. This is the external facing enum used in place of the internal-only Bungie.SharedDefinitions.MembershipType.
    Type: int32

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: boolean
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

GroupV2.GetRecommendedGroups

GroupV2

Verb: POST

Path: /GroupV2/Recommended/{groupType}/{createDateRange}/

Gets groups recommended for you based on the groups to whom those you follow belong.

Required Scope(s)

  • oauth2: ReadGroups

Path Parameters

  • createDateRange
    Requested range in which to pull recommended groups
    Type: int32
  • groupType
    Type of groups requested
    Type: int32

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: array
Array Contents: GroupsV2.GroupV2Card
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

GroupV2.GroupSearch

GroupV2

Verb: POST

Path: /GroupV2/Search/

Search for Groups.

Request Body

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

GroupV2.GetGroup

GroupV2

Verb: GET

Path: /GroupV2/{groupId}/

Get information about a specific group of the given ID.

Path Parameters

  • groupId
    Requested group's id.
    Type: int64

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

GroupV2.GetGroupByName

GroupV2

Verb: GET

Path: /GroupV2/Name/{groupName}/{groupType}/

Get information about a specific group with the given name and type.

Path Parameters

  • groupName
    Exact name of the group to find.
    Type: string
  • groupType
    Type of group to find.
    Type: int32

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

GroupV2.GetGroupByNameV2

GroupV2

Verb: POST

Path: /GroupV2/NameV2/

Get information about a specific group with the given name and type. The POST version.

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

GroupV2.GetGroupOptionalConversations

GroupV2

Verb: GET

Path: /GroupV2/{groupId}/OptionalConversations/

Gets a list of available optional conversation channels and their settings.

Path Parameters

  • groupId
    Requested group's id.
    Type: int64

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: array
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

GroupV2.EditGroup

GroupV2

Verb: POST

Path: /GroupV2/{groupId}/Edit/

Edit an existing group. You must have suitable permissions in the group to perform this operation. This latest revision will only edit the fields you pass in - pass null for properties you want to leave unaltered.

Required Scope(s)

  • oauth2: AdminGroups

Path Parameters

  • groupId
    Group ID of the group to edit.
    Type: int64

Request Body

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: int32
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

GroupV2.EditClanBanner

GroupV2

Verb: POST

Path: /GroupV2/{groupId}/EditClanBanner/

Edit an existing group's clan banner. You must have suitable permissions in the group to perform this operation. All fields are required.

Required Scope(s)

  • oauth2: AdminGroups

Path Parameters

  • groupId
    Group ID of the group to edit.
    Type: int64

Request Body

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: int32
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

GroupV2.EditFounderOptions

GroupV2

Verb: POST

Path: /GroupV2/{groupId}/EditFounderOptions/

Edit group options only available to a founder. You must have suitable permissions in the group to perform this operation.

Required Scope(s)

  • oauth2: AdminGroups

Path Parameters

  • groupId
    Group ID of the group to edit.
    Type: int64

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: int32
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

GroupV2.AddOptionalConversation

GroupV2

Verb: POST

Path: /GroupV2/{groupId}/OptionalConversations/Add/

Add a new optional conversation/chat channel. Requires admin permissions to the group.

Required Scope(s)

  • oauth2: AdminGroups

Path Parameters

  • groupId
    Group ID of the group to edit.
    Type: int64

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: int64
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

GroupV2.EditOptionalConversation

GroupV2

Verb: POST

Path: /GroupV2/{groupId}/OptionalConversations/Edit/{conversationId}/

Edit the settings of an optional conversation/chat channel. Requires admin permissions to the group.

Required Scope(s)

  • oauth2: AdminGroups

Path Parameters

  • conversationId
    Conversation Id of the channel being edited.
    Type: int64
  • groupId
    Group ID of the group to edit.
    Type: int64

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: int64
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

GroupV2.GetMembersOfGroup

GroupV2

Verb: GET

Path: /GroupV2/{groupId}/Members/

Get the list of members in a given group.

Path Parameters

  • currentpage
    Page number (starting with 1). Each page has a fixed size of 50 items per page.
    Type: int32
  • groupId
    The ID of the group.
    Type: int64

Querystring Parameters

  • memberType
    Filter out other member types. Use None for all members.
    The member levels used by all V2 Groups API. Individual group types use their own mappings in their native storage (general uses BnetDbGroupMemberType and D2 clans use ClanMemberLevel), but they are all translated to this in the runtime api. These runtime values should NEVER be stored anywhere, so the values can be changed as necessary.
    Type: int32
  • nameSearch
    The name fragment upon which a search should be executed for members with matching display or unique names.
    Type: string

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

GroupV2.GetAdminsAndFounderOfGroup

GroupV2

Verb: GET

Path: /GroupV2/{groupId}/AdminsAndFounder/

Get the list of members in a given group who are of admin level or higher.

Path Parameters

  • currentpage
    Page number (starting with 1). Each page has a fixed size of 50 items per page.
    Type: int32
  • groupId
    The ID of the group.
    Type: int64

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

GroupV2.EditGroupMembership

GroupV2

Verb: POST

Path: /GroupV2/{groupId}/Members/{membershipType}/{membershipId}/SetMembershipType/{memberType}/

Edit the membership type of a given member. You must have suitable permissions in the group to perform this operation.

Required Scope(s)

  • oauth2: AdminGroups

Path Parameters

  • groupId
    ID of the group to which the member belongs.
    Type: int64
  • membershipId
    Membership ID to modify.
    Type: int64
  • membershipType
    Membership type of the provide membership ID.
    The types of membership the Accounts system supports. This is the external facing enum used in place of the internal-only Bungie.SharedDefinitions.MembershipType.
    Type: int32
  • memberType
    New membertype for the specified member.
    The member levels used by all V2 Groups API. Individual group types use their own mappings in their native storage (general uses BnetDbGroupMemberType and D2 clans use ClanMemberLevel), but they are all translated to this in the runtime api. These runtime values should NEVER be stored anywhere, so the values can be changed as necessary.
    Type: int32

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: int32
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

GroupV2.KickMember

GroupV2

Verb: POST

Path: /GroupV2/{groupId}/Members/{membershipType}/{membershipId}/Kick/

Kick a member from the given group, forcing them to reapply if they wish to re-join the group. You must have suitable permissions in the group to perform this operation.

Required Scope(s)

  • oauth2: AdminGroups

Path Parameters

  • groupId
    Group ID to kick the user from.
    Type: int64
  • membershipId
    Membership ID to kick.
    Type: int64
  • membershipType
    Membership type of the provided membership ID.
    The types of membership the Accounts system supports. This is the external facing enum used in place of the internal-only Bungie.SharedDefinitions.MembershipType.
    Type: int32

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

GroupV2.BanMember

GroupV2

Verb: POST

Path: /GroupV2/{groupId}/Members/{membershipType}/{membershipId}/Ban/

Bans the requested member from the requested group for the specified period of time.

Required Scope(s)

  • oauth2: AdminGroups

Path Parameters

  • groupId
    Group ID that has the member to ban.
    Type: int64
  • membershipId
    Membership ID of the member to ban from the group.
    Type: int64
  • membershipType
    Membership type of the provided membership ID.
    The types of membership the Accounts system supports. This is the external facing enum used in place of the internal-only Bungie.SharedDefinitions.MembershipType.
    Type: int32

Request Body

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: int32
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

GroupV2.UnbanMember

GroupV2

Verb: POST

Path: /GroupV2/{groupId}/Members/{membershipType}/{membershipId}/Unban/

Unbans the requested member, allowing them to re-apply for membership.

Required Scope(s)

  • oauth2: AdminGroups

Path Parameters

  • groupId
    Type: int64
  • membershipId
    Membership ID of the member to unban from the group
    Type: int64
  • membershipType
    Membership type of the provided membership ID.
    The types of membership the Accounts system supports. This is the external facing enum used in place of the internal-only Bungie.SharedDefinitions.MembershipType.
    Type: int32

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: int32
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

GroupV2.GetBannedMembersOfGroup

GroupV2

Verb: GET

Path: /GroupV2/{groupId}/Banned/

Get the list of banned members in a given group. Only accessible to group Admins and above. Not applicable to all groups. Check group features.

Required Scope(s)

  • oauth2: AdminGroups

Path Parameters

  • currentpage
    Page number (starting with 1). Each page has a fixed size of 50 entries.
    Type: int32
  • groupId
    Group ID whose banned members you are fetching
    Type: int64

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

GroupV2.AbdicateFoundership

GroupV2

Verb: POST

Path: /GroupV2/{groupId}/Admin/AbdicateFoundership/{membershipType}/{founderIdNew}/

An administrative method to allow the founder of a group or clan to give up their position to another admin permanently.

Path Parameters

  • founderIdNew
    The new founder for this group. Must already be a group admin.
    Type: int64
  • groupId
    The target group id.
    Type: int64
  • membershipType
    Membership type of the provided founderIdNew.
    The types of membership the Accounts system supports. This is the external facing enum used in place of the internal-only Bungie.SharedDefinitions.MembershipType.
    Type: int32

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: boolean
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

GroupV2.GetPendingMemberships

GroupV2

Verb: GET

Path: /GroupV2/{groupId}/Members/Pending/

Get the list of users who are awaiting a decision on their application to join a given group. Modified to include application info.

Required Scope(s)

  • oauth2: AdminGroups

Path Parameters

  • currentpage
    Page number (starting with 1). Each page has a fixed size of 50 items per page.
    Type: int32
  • groupId
    ID of the group.
    Type: int64

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

GroupV2.GetInvitedIndividuals

GroupV2

Verb: GET

Path: /GroupV2/{groupId}/Members/InvitedIndividuals/

Get the list of users who have been invited into the group.

Required Scope(s)

  • oauth2: AdminGroups

Path Parameters

  • currentpage
    Page number (starting with 1). Each page has a fixed size of 50 items per page.
    Type: int32
  • groupId
    ID of the group.
    Type: int64

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

GroupV2.ApproveAllPending

GroupV2

Verb: POST

Path: /GroupV2/{groupId}/Members/ApproveAll/

Approve all of the pending users for the given group.

Required Scope(s)

  • oauth2: AdminGroups

Path Parameters

  • groupId
    ID of the group.
    Type: int64

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: array
Array Contents: Entities.EntityActionResult
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

GroupV2.DenyAllPending

GroupV2

Verb: POST

Path: /GroupV2/{groupId}/Members/DenyAll/

Deny all of the pending users for the given group.

Required Scope(s)

  • oauth2: AdminGroups

Path Parameters

  • groupId
    ID of the group.
    Type: int64

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: array
Array Contents: Entities.EntityActionResult
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

GroupV2.ApprovePendingForList

GroupV2

Verb: POST

Path: /GroupV2/{groupId}/Members/ApproveList/

Approve all of the pending users for the given group.

Required Scope(s)

  • oauth2: AdminGroups

Path Parameters

  • groupId
    ID of the group.
    Type: int64

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: array
Array Contents: Entities.EntityActionResult
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

GroupV2.ApprovePending

GroupV2

Verb: POST

Path: /GroupV2/{groupId}/Members/Approve/{membershipType}/{membershipId}/

Approve the given membershipId to join the group/clan as long as they have applied.

Required Scope(s)

  • oauth2: AdminGroups

Path Parameters

  • groupId
    ID of the group.
    Type: int64
  • membershipId
    The membership id being approved.
    Type: int64
  • membershipType
    Membership type of the supplied membership ID.
    The types of membership the Accounts system supports. This is the external facing enum used in place of the internal-only Bungie.SharedDefinitions.MembershipType.
    Type: int32

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: boolean
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

GroupV2.DenyPendingForList

GroupV2

Verb: POST

Path: /GroupV2/{groupId}/Members/DenyList/

Deny all of the pending users for the given group that match the passed-in .

Required Scope(s)

  • oauth2: AdminGroups

Path Parameters

  • groupId
    ID of the group.
    Type: int64

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: array
Array Contents: Entities.EntityActionResult
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

GroupV2.GetGroupsForMember

GroupV2

Verb: GET

Path: /GroupV2/User/{membershipType}/{membershipId}/{filter}/{groupType}/

Get information about the groups that a given member has joined.

Path Parameters

  • filter
    Filter apply to list of joined groups.
    Type: int32
  • groupType
    Type of group the supplied member founded.
    Type: int32
  • membershipId
    Membership ID to for which to find founded groups.
    Type: int64
  • membershipType
    Membership type of the supplied membership ID.
    The types of membership the Accounts system supports. This is the external facing enum used in place of the internal-only Bungie.SharedDefinitions.MembershipType.
    Type: int32

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

GroupV2.RecoverGroupForFounder

GroupV2

Verb: GET

Path: /GroupV2/Recover/{membershipType}/{membershipId}/{groupType}/

Allows a founder to manually recover a group they can see in game but not on bungie.net

Path Parameters

  • groupType
    Type of group the supplied member founded.
    Type: int32
  • membershipId
    Membership ID to for which to find founded groups.
    Type: int64
  • membershipType
    Membership type of the supplied membership ID.
    The types of membership the Accounts system supports. This is the external facing enum used in place of the internal-only Bungie.SharedDefinitions.MembershipType.
    Type: int32

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

GroupV2.GetPotentialGroupsForMember

GroupV2

Verb: GET

Path: /GroupV2/User/Potential/{membershipType}/{membershipId}/{filter}/{groupType}/

Get information about the groups that a given member has applied to or been invited to.

Path Parameters

  • filter
    Filter apply to list of potential joined groups.
    Type: int32
  • groupType
    Type of group the supplied member applied.
    Type: int32
  • membershipId
    Membership ID to for which to find applied groups.
    Type: int64
  • membershipType
    Membership type of the supplied membership ID.
    The types of membership the Accounts system supports. This is the external facing enum used in place of the internal-only Bungie.SharedDefinitions.MembershipType.
    Type: int32

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

GroupV2.IndividualGroupInvite

GroupV2

Verb: POST

Path: /GroupV2/{groupId}/Members/IndividualInvite/{membershipType}/{membershipId}/

Invite a user to join this group.

Required Scope(s)

  • oauth2: AdminGroups

Path Parameters

  • groupId
    ID of the group you would like to join.
    Type: int64
  • membershipId
    Membership id of the account being invited.
    Type: int64
  • membershipType
    MembershipType of the account being invited.
    The types of membership the Accounts system supports. This is the external facing enum used in place of the internal-only Bungie.SharedDefinitions.MembershipType.
    Type: int32

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

GroupV2.IndividualGroupInviteCancel

GroupV2

Verb: POST

Path: /GroupV2/{groupId}/Members/IndividualInviteCancel/{membershipType}/{membershipId}/

Cancels a pending invitation to join a group.

Required Scope(s)

  • oauth2: AdminGroups

Path Parameters

  • groupId
    ID of the group you would like to join.
    Type: int64
  • membershipId
    Membership id of the account being cancelled.
    Type: int64
  • membershipType
    MembershipType of the account being cancelled.
    The types of membership the Accounts system supports. This is the external facing enum used in place of the internal-only Bungie.SharedDefinitions.MembershipType.
    Type: int32

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Tokens.ClaimPartnerOffer

Tokens

Verb: POST

Path: /Tokens/Partner/ClaimOffer/

Claim a partner offer as the authenticated user.

Required Scope(s)

  • oauth2: PartnerOfferGrant

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: boolean
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Tokens.ApplyMissingPartnerOffersWithoutClaim

Tokens

Verb: POST

Path: /Tokens/Partner/ApplyMissingOffers/{partnerApplicationId}/{targetBnetMembershipId}/

Apply a partner offer to the targeted user. This endpoint does not claim a new offer, but any already claimed offers will be applied to the game if not already.

Required Scope(s)

  • oauth2: PartnerOfferGrant

Path Parameters

  • partnerApplicationId
    The partner application identifier.
    Type: int32
  • targetBnetMembershipId
    The bungie.net user to apply missing offers to. If not self, elevated permissions are required.
    Type: int64

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: boolean
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Tokens.GetPartnerOfferSkuHistory

Tokens

Verb: GET

Path: /Tokens/Partner/History/{partnerApplicationId}/{targetBnetMembershipId}/

Returns the partner sku and offer history of the targeted user. Elevated permissions are required to see users that are not yourself.

Required Scope(s)

  • oauth2: PartnerOfferGrant

Path Parameters

  • partnerApplicationId
    The partner application identifier.
    Type: int32
  • targetBnetMembershipId
    The bungie.net user to apply missing offers to. If not self, elevated permissions are required.
    Type: int64

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: array
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Destiny2.GetDestinyManifest

Destiny2

Verb: GET

Path: /Destiny2/Manifest/

Returns the current version of the manifest as a json object.

Response

DestinyManifest is the external-facing contract for just the properties needed by those calling the Destiny Platform.
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Destiny2.GetDestinyEntityDefinition

Destiny2

Verb: GET

Path: /Destiny2/Manifest/{entityType}/{hashIdentifier}/

Returns the static definition of an entity of the given Type and hash identifier. Examine the API Documentation for the Type Names of entities that have their own definitions. Note that the return type will always *inherit from* DestinyDefinition, but the specific type returned will be the requested entity type if it can be found. Please don't use this as a chatty alternative to the Manifest database if you require large sets of data, but for simple and one-off accesses this should be handy.

Path Parameters

  • entityType
    The type of entity for whom you would like results. These correspond to the entity's definition contract name. For instance, if you are looking for items, this property should be 'DestinyInventoryItemDefinition'. PREVIEW: This endpoint is still in beta, and may experience rough edges. The schema is tentatively in final form, but there may be bugs that prevent desirable operation.
    Type: string
  • hashIdentifier
    The hash identifier for the specific Entity you want returned.
    Type: uint32

Response

Provides common properties for destiny definitions.
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Destiny2.SearchDestinyPlayer

Destiny2

Verb: GET

Path: /Destiny2/SearchDestinyPlayer/{membershipType}/{displayName}/

Returns a list of Destiny memberships given a global Bungie Display Name. This method will hide overridden memberships due to cross save.

Path Parameters

  • displayName
    The full bungie global display name to look up, include the # and the code at the end. This is an exact match lookup.
    Type: string
  • membershipType
    A valid non-BungieNet membership type, or All. Indicates which memberships to return. You probably want this set to All.
    The types of membership the Accounts system supports. This is the external facing enum used in place of the internal-only Bungie.SharedDefinitions.MembershipType.
    Type: int32

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: array
Array Contents: User.UserInfoCard
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Destiny2.GetLinkedProfiles

Destiny2

Verb: GET

Path: /Destiny2/{membershipType}/Profile/{membershipId}/LinkedProfiles/

Returns a summary information about all profiles linked to the requesting membership type/membership ID that have valid Destiny information. The passed-in Membership Type/Membership ID may be a Bungie.Net membership or a Destiny membership. It only returns the minimal amount of data to begin making more substantive requests, but will hopefully serve as a useful alternative to UserServices for people who just care about Destiny data. Note that it will only return linked accounts whose linkages you are allowed to view.

Path Parameters

  • membershipId
    The ID of the membership whose linked Destiny accounts you want returned. Make sure your membership ID matches its Membership Type: don't pass us a PSN membership ID and the XBox membership type, it's not going to work!
    Type: int64
  • membershipType
    The type for the membership whose linked Destiny accounts you want returned.
    The types of membership the Accounts system supports. This is the external facing enum used in place of the internal-only Bungie.SharedDefinitions.MembershipType.
    Type: int32

Querystring Parameters

  • getAllMemberships
    (optional) if set to 'true', all memberships regardless of whether they're obscured by overrides will be returned. Normal privacy restrictions on account linking will still apply no matter what.
    Type: boolean

Response

I know what you seek. You seek linked accounts. Found them, you have.<br /><br />This contract returns a minimal amount of data about Destiny Accounts that are linked through your Bungie.Net account. We will not return accounts in this response whose
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Destiny2.GetProfile

Destiny2

Verb: GET

Path: /Destiny2/{membershipType}/Profile/{destinyMembershipId}/

Returns Destiny Profile information for the supplied membership.

Path Parameters

  • destinyMembershipId
    Destiny membership ID.
    Type: int64
  • membershipType
    A valid non-BungieNet membership type.
    The types of membership the Accounts system supports. This is the external facing enum used in place of the internal-only Bungie.SharedDefinitions.MembershipType.
    Type: int32

Querystring Parameters

  • components
    A comma separated list of components to return (as strings or numeric values). See the DestinyComponentType enum for valid components to request. You must request at least one component to receive results.
    Type: array
    Array Contents: int32

Response

The response for GetDestinyProfile, with components for character and item-level data.
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Destiny2.GetCharacter

Destiny2

Verb: GET

Path: /Destiny2/{membershipType}/Profile/{destinyMembershipId}/Character/{characterId}/

Returns character information for the supplied character.

Path Parameters

  • characterId
    ID of the character.
    Type: int64
  • destinyMembershipId
    Destiny membership ID.
    Type: int64
  • membershipType
    A valid non-BungieNet membership type.
    The types of membership the Accounts system supports. This is the external facing enum used in place of the internal-only Bungie.SharedDefinitions.MembershipType.
    Type: int32

Querystring Parameters

  • components
    A comma separated list of components to return (as strings or numeric values). See the DestinyComponentType enum for valid components to request. You must request at least one component to receive results.
    Type: array
    Array Contents: int32

Response

The response contract for GetDestinyCharacter, with components that can be returned for character and item-level data.
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Destiny2.GetClanWeeklyRewardState

Destiny2

Verb: GET

Path: /Destiny2/Clan/{groupId}/WeeklyRewardState/

Returns information on the weekly clan rewards and if the clan has earned them or not. Note that this will always report rewards as not redeemed.

Path Parameters

  • groupId
    A valid group id of clan.
    Type: int64

Response

Represents a runtime instance of a user's milestone status. Live Milestone data should be combined with DestinyMilestoneDefinition data to show the user a picture of what is available for them to do in the game, and their status in regards to said "things to do." Consider it a big, wonky to-do list, or Advisors 3.0 for those who remember the Destiny 1 API.
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Destiny2.GetClanBannerSource

Destiny2

Verb: GET

Path: /Destiny2/Clan/ClanBannerDictionary/

Returns the dictionary of values for the Clan Banner

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Destiny2.GetItem

Destiny2

Verb: GET

Path: /Destiny2/{membershipType}/Profile/{destinyMembershipId}/Item/{itemInstanceId}/

Retrieve the details of an instanced Destiny Item. An instanced Destiny item is one with an ItemInstanceId. Non-instanced items, such as materials, have no useful instance-specific details and thus are not queryable here.

Path Parameters

  • destinyMembershipId
    The membership ID of the destiny profile.
    Type: int64
  • itemInstanceId
    The Instance ID of the destiny item.
    Type: int64
  • membershipType
    A valid non-BungieNet membership type.
    The types of membership the Accounts system supports. This is the external facing enum used in place of the internal-only Bungie.SharedDefinitions.MembershipType.
    Type: int32

Querystring Parameters

  • components
    A comma separated list of components to return (as strings or numeric values). See the DestinyComponentType enum for valid components to request. You must request at least one component to receive results.
    Type: array
    Array Contents: int32

Response

The response object for retrieving an individual instanced item. None of these components are relevant for an item that doesn't have an "itemInstanceId": for those, get your information from the DestinyInventoryDefinition.
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Destiny2.GetVendors

Destiny2

Verb: GET

Path: /Destiny2/{membershipType}/Profile/{destinyMembershipId}/Character/{characterId}/Vendors/

Get currently available vendors from the list of vendors that can possibly have rotating inventory. Note that this does not include things like preview vendors and vendors-as-kiosks, neither of whom have rotating/dynamic inventories. Use their definitions as-is for those.

Path Parameters

  • characterId
    The Destiny Character ID of the character for whom we're getting vendor info.
    Type: int64
  • destinyMembershipId
    Destiny membership ID of another user. You may be denied.
    Type: int64
  • membershipType
    A valid non-BungieNet membership type.
    The types of membership the Accounts system supports. This is the external facing enum used in place of the internal-only Bungie.SharedDefinitions.MembershipType.
    Type: int32

Querystring Parameters

  • components
    A comma separated list of components to return (as strings or numeric values). See the DestinyComponentType enum for valid components to request. You must request at least one component to receive results.
    Type: array
    Array Contents: int32
  • filter
    The filter of what vendors and items to return, if any.
    Indicates the type of filter to apply to Vendor results.
    Type: int32

Response

A response containing all of the components for all requested vendors.
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Destiny2.GetVendor

Destiny2

Verb: GET

Path: /Destiny2/{membershipType}/Profile/{destinyMembershipId}/Character/{characterId}/Vendors/{vendorHash}/

Get the details of a specific Vendor.

Path Parameters

  • characterId
    The Destiny Character ID of the character for whom we're getting vendor info.
    Type: int64
  • destinyMembershipId
    Destiny membership ID of another user. You may be denied.
    Type: int64
  • membershipType
    A valid non-BungieNet membership type.
    The types of membership the Accounts system supports. This is the external facing enum used in place of the internal-only Bungie.SharedDefinitions.MembershipType.
    Type: int32
  • vendorHash
    The Hash identifier of the Vendor to be returned.
    Type: uint32

Querystring Parameters

  • components
    A comma separated list of components to return (as strings or numeric values). See the DestinyComponentType enum for valid components to request. You must request at least one component to receive results.
    Type: array
    Array Contents: int32

Response

A response containing all of the components for a vendor.
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Destiny2.GetPublicVendors

Preview - Not Ready for Release Destiny2 Preview

Verb: GET

Path: /Destiny2/Vendors/

Get items available from vendors where the vendors have items for sale that are common for everyone. If any portion of the Vendor's available inventory is character or account specific, we will be unable to return their data from this endpoint due to the way that available inventory is computed. As I am often guilty of saying: 'It's a long story...'

Querystring Parameters

  • components
    A comma separated list of components to return (as strings or numeric values). See the DestinyComponentType enum for valid components to request. You must request at least one component to receive results.
    Type: array
    Array Contents: int32

Response

A response containing all valid components for the public Vendors endpoint.<br /><br /> It is a decisively smaller subset of data compared to what we can get when we know the specific user making the request.<br /><br /> If you want any of the other data - item details, whether or not you can buy it, etc... you'll have to call in the context of a character. I know, sad but true.
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Destiny2.GetCollectibleNodeDetails

Destiny2

Verb: GET

Path: /Destiny2/{membershipType}/Profile/{destinyMembershipId}/Character/{characterId}/Collectibles/{collectiblePresentationNodeHash}/

Given a Presentation Node that has Collectibles as direct descendants, this will return item details about those descendants in the context of the requesting character.

Path Parameters

  • characterId
    The Destiny Character ID of the character for whom we're getting collectible detail info.
    Type: int64
  • collectiblePresentationNodeHash
    The hash identifier of the Presentation Node for whom we should return collectible details. Details will only be returned for collectibles that are direct descendants of this node.
    Type: uint32
  • destinyMembershipId
    Destiny membership ID of another user. You may be denied.
    Type: int64
  • membershipType
    A valid non-BungieNet membership type.
    The types of membership the Accounts system supports. This is the external facing enum used in place of the internal-only Bungie.SharedDefinitions.MembershipType.
    Type: int32

Querystring Parameters

  • components
    A comma separated list of components to return (as strings or numeric values). See the DestinyComponentType enum for valid components to request. You must request at least one component to receive results.
    Type: array
    Array Contents: int32

Response

Returns the detailed information about a Collectible Presentation Node and any Collectibles that are direct descendants.
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Destiny2.TransferItem

Destiny2

Notes:
ThrottleSecondsBetweenActionPerUser: 0.1

Verb: POST

Path: /Destiny2/Actions/Items/TransferItem/

Transfer an item to/from your vault. You must have a valid Destiny account. You must also pass BOTH a reference AND an instance ID if it's an instanced item. itshappening.gif

Required Scope(s)

  • oauth2: MoveEquipDestinyItems

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: int32
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Destiny2.PullFromPostmaster

Destiny2

Notes:
ThrottleSecondsBetweenActionPerUser: 0.1

Verb: POST

Path: /Destiny2/Actions/Items/PullFromPostmaster/

Extract an item from the Postmaster, with whatever implications that may entail. You must have a valid Destiny account. You must also pass BOTH a reference AND an instance ID if it's an instanced item.

Required Scope(s)

  • oauth2: MoveEquipDestinyItems

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: int32
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Destiny2.EquipItem

Destiny2

Notes:
ThrottleSecondsBetweenActionPerUser: 0.1

Verb: POST

Path: /Destiny2/Actions/Items/EquipItem/

Equip an item. You must have a valid Destiny Account, and either be in a social space, in orbit, or offline.

Required Scope(s)

  • oauth2: MoveEquipDestinyItems

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: int32
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Destiny2.EquipItems

Destiny2

Notes:
ThrottleSecondsBetweenActionPerUser: 0.1

Verb: POST

Path: /Destiny2/Actions/Items/EquipItems/

Equip a list of items by itemInstanceIds. You must have a valid Destiny Account, and either be in a social space, in orbit, or offline. Any items not found on your character will be ignored.

Required Scope(s)

  • oauth2: MoveEquipDestinyItems

Response

The results of a bulk Equipping operation performed through the Destiny API.
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Destiny2.SetItemLockState

Destiny2

Notes:
ThrottleSecondsBetweenActionPerUser: 0.1

Verb: POST

Path: /Destiny2/Actions/Items/SetLockState/

Set the Lock State for an instanced item. You must have a valid Destiny Account.

Required Scope(s)

  • oauth2: MoveEquipDestinyItems

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: int32
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Destiny2.SetQuestTrackedState

Destiny2

Notes:
ThrottleSecondsBetweenActionPerUser: 1

Verb: POST

Path: /Destiny2/Actions/Items/SetTrackedState/

Set the Tracking State for an instanced item, if that item is a Quest or Bounty. You must have a valid Destiny Account. Yeah, it's an item.

Required Scope(s)

  • oauth2: MoveEquipDestinyItems

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: int32
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Destiny2.InsertSocketPlug

Preview - Not Ready for Release Destiny2 Preview

Notes:
ThrottleSecondsBetweenActionPerUser: 1

Verb: POST

Path: /Destiny2/Actions/Items/InsertSocketPlug/

Insert a plug into a socketed item. I know how it sounds, but I assure you it's much more G-rated than you might be guessing. We haven't decided yet whether this will be able to insert plugs that have side effects, but if we do it will require special scope permission for an application attempting to do so. You must have a valid Destiny Account, and either be in a social space, in orbit, or offline. Request must include proof of permission for 'InsertPlugs' from the account owner.

Required Scope(s)

  • oauth2: AdvancedWriteActions

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Destiny2.GetPostGameCarnageReport

Destiny2

Verb: GET

Path: /Destiny2/Stats/PostGameCarnageReport/{activityId}/

Gets the available post game carnage report for the activity ID.

Path Parameters

  • activityId
    The ID of the activity whose PGCR is requested.
    Type: int64

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Destiny2.ReportOffensivePostGameCarnageReportPlayer

Destiny2

Verb: POST

Path: /Destiny2/Stats/PostGameCarnageReport/{activityId}/Report/

Report a player that you met in an activity that was engaging in ToS-violating activities. Both you and the offending player must have played in the activityId passed in. Please use this judiciously and only when you have strong suspicions of violation, pretty please.

Required Scope(s)

  • oauth2: BnetWrite

Path Parameters

  • activityId
    The ID of the activity where you ran into the brigand that you're reporting.
    Type: int64

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: int32
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Destiny2.GetHistoricalStatsDefinition

Destiny2

Verb: GET

Path: /Destiny2/Stats/Definition/

Gets historical stats definitions.

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: object
Dictionary Key Type: string
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Destiny2.GetClanLeaderboards

Preview - Not Ready for Release Destiny2 Preview

Verb: GET

Path: /Destiny2/Stats/Leaderboards/Clans/{groupId}/

Gets leaderboards with the signed in user's friends and the supplied destinyMembershipId as the focus. PREVIEW: This endpoint is still in beta, and may experience rough edges. The schema is in final form, but there may be bugs that prevent desirable operation.

Path Parameters

  • groupId
    Group ID of the clan whose leaderboards you wish to fetch.
    Type: int64

Querystring Parameters

  • maxtop
    Maximum number of top players to return. Use a large number to get entire leaderboard.
    Type: int32
  • modes
    List of game modes for which to get leaderboards. See the documentation for DestinyActivityModeType for valid values, and pass in string representation, comma delimited.
    Type: string
  • statid
    ID of stat to return rather than returning all Leaderboard stats.
    Type: string

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: object
Dictionary Contents: object
Dictionary Key Type: string
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Destiny2.GetClanAggregateStats

Preview - Not Ready for Release Destiny2 Preview

Verb: GET

Path: /Destiny2/Stats/AggregateClanStats/{groupId}/

Gets aggregated stats for a clan using the same categories as the clan leaderboards. PREVIEW: This endpoint is still in beta, and may experience rough edges. The schema is in final form, but there may be bugs that prevent desirable operation.

Path Parameters

  • groupId
    Group ID of the clan whose leaderboards you wish to fetch.
    Type: int64

Querystring Parameters

  • modes
    List of game modes for which to get leaderboards. See the documentation for DestinyActivityModeType for valid values, and pass in string representation, comma delimited.
    Type: string

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Destiny2.GetLeaderboards

Preview - Not Ready for Release Destiny2 Preview

Verb: GET

Path: /Destiny2/{membershipType}/Account/{destinyMembershipId}/Stats/Leaderboards/

Gets leaderboards with the signed in user's friends and the supplied destinyMembershipId as the focus. PREVIEW: This endpoint has not yet been implemented. It is being returned for a preview of future functionality, and for public comment/suggestion/preparation.

Path Parameters

  • destinyMembershipId
    The Destiny membershipId of the user to retrieve.
    Type: int64
  • membershipType
    A valid non-BungieNet membership type.
    The types of membership the Accounts system supports. This is the external facing enum used in place of the internal-only Bungie.SharedDefinitions.MembershipType.
    Type: int32

Querystring Parameters

  • maxtop
    Maximum number of top players to return. Use a large number to get entire leaderboard.
    Type: int32
  • modes
    List of game modes for which to get leaderboards. See the documentation for DestinyActivityModeType for valid values, and pass in string representation, comma delimited.
    Type: string
  • statid
    ID of stat to return rather than returning all Leaderboard stats.
    Type: string

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: object
Dictionary Contents: object
Dictionary Key Type: string
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Destiny2.GetLeaderboardsForCharacter

Preview - Not Ready for Release Destiny2 Preview

Verb: GET

Path: /Destiny2/Stats/Leaderboards/{membershipType}/{destinyMembershipId}/{characterId}/

Gets leaderboards with the signed in user's friends and the supplied destinyMembershipId as the focus. PREVIEW: This endpoint is still in beta, and may experience rough edges. The schema is in final form, but there may be bugs that prevent desirable operation.

Path Parameters

  • characterId
    The specific character to build the leaderboard around for the provided Destiny Membership.
    Type: int64
  • destinyMembershipId
    The Destiny membershipId of the user to retrieve.
    Type: int64
  • membershipType
    A valid non-BungieNet membership type.
    The types of membership the Accounts system supports. This is the external facing enum used in place of the internal-only Bungie.SharedDefinitions.MembershipType.
    Type: int32

Querystring Parameters

  • maxtop
    Maximum number of top players to return. Use a large number to get entire leaderboard.
    Type: int32
  • modes
    List of game modes for which to get leaderboards. See the documentation for DestinyActivityModeType for valid values, and pass in string representation, comma delimited.
    Type: string
  • statid
    ID of stat to return rather than returning all Leaderboard stats.
    Type: string

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: object
Dictionary Contents: object
Dictionary Key Type: string
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Destiny2.SearchDestinyEntities

Destiny2

Verb: GET

Path: /Destiny2/Armory/Search/{type}/{searchTerm}/

Gets a page list of Destiny items.

Path Parameters

  • searchTerm
    The string to use when searching for Destiny entities.
    Type: string
  • type
    The type of entity for whom you would like results. These correspond to the entity's definition contract name. For instance, if you are looking for items, this property should be 'DestinyInventoryItemDefinition'.
    Type: string

Querystring Parameters

  • page
    Page number to return, starting with 0.
    Type: int32

Response

The results of a search for Destiny content. This will be improved on over time, I've been doing some experimenting to see what might be useful.
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Destiny2.GetHistoricalStats

Destiny2

Verb: GET

Path: /Destiny2/{membershipType}/Account/{destinyMembershipId}/Character/{characterId}/Stats/

Gets historical stats for indicated character.

Path Parameters

  • characterId
    The id of the character to retrieve. You can omit this character ID or set it to 0 to get aggregate stats across all characters.
    Type: int64
  • destinyMembershipId
    The Destiny membershipId of the user to retrieve.
    Type: int64
  • membershipType
    A valid non-BungieNet membership type.
    The types of membership the Accounts system supports. This is the external facing enum used in place of the internal-only Bungie.SharedDefinitions.MembershipType.
    Type: int32

Querystring Parameters

  • dayend
    Last day to return when daily stats are requested. Use the format YYYY-MM-DD. Currently, we cannot allow more than 31 days of daily data to be requested in a single request.
    Type: date-time
  • daystart
    First day to return when daily stats are requested. Use the format YYYY-MM-DD. Currently, we cannot allow more than 31 days of daily data to be requested in a single request.
    Type: date-time
  • groups
    Group of stats to include, otherwise only general stats are returned. Comma separated list is allowed. Values: General, Weapons, Medals
    Type: array
    Array Contents: int32
  • modes
    Game modes to return. See the documentation for DestinyActivityModeType for valid values, and pass in string representation, comma delimited.
    Type: array
    Array Contents: int32
  • periodType
    Indicates a specific period type to return. Optional. May be: Daily, AllTime, or Activity
    Type: int32

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: object
Dictionary Key Type: string
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Destiny2.GetHistoricalStatsForAccount

Destiny2

Verb: GET

Path: /Destiny2/{membershipType}/Account/{destinyMembershipId}/Stats/

Gets aggregate historical stats organized around each character for a given account.

Path Parameters

  • destinyMembershipId
    The Destiny membershipId of the user to retrieve.
    Type: int64
  • membershipType
    A valid non-BungieNet membership type.
    The types of membership the Accounts system supports. This is the external facing enum used in place of the internal-only Bungie.SharedDefinitions.MembershipType.
    Type: int32

Querystring Parameters

  • groups
    Groups of stats to include, otherwise only general stats are returned. Comma separated list is allowed. Values: General, Weapons, Medals.
    Type: array
    Array Contents: int32

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Destiny2.GetActivityHistory

Destiny2

Verb: GET

Path: /Destiny2/{membershipType}/Account/{destinyMembershipId}/Character/{characterId}/Stats/Activities/

Gets activity history stats for indicated character.

Path Parameters

  • characterId
    The id of the character to retrieve.
    Type: int64
  • destinyMembershipId
    The Destiny membershipId of the user to retrieve.
    Type: int64
  • membershipType
    A valid non-BungieNet membership type.
    The types of membership the Accounts system supports. This is the external facing enum used in place of the internal-only Bungie.SharedDefinitions.MembershipType.
    Type: int32

Querystring Parameters

  • count
    Number of rows to return
    Type: int32
  • mode
    A filter for the activity mode to be returned. None returns all activities. See the documentation for DestinyActivityModeType for valid values, and pass in string representation.
    For historical reasons, this list will have both D1 and D2-relevant Activity Modes in it. Please don't take this to mean that some D1-only feature is coming back!
    Type: int32
  • page
    Page number to return, starting with 0.
    Type: int32

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Destiny2.GetUniqueWeaponHistory

Destiny2

Verb: GET

Path: /Destiny2/{membershipType}/Account/{destinyMembershipId}/Character/{characterId}/Stats/UniqueWeapons/

Gets details about unique weapon usage, including all exotic weapons.

Path Parameters

  • characterId
    The id of the character to retrieve.
    Type: int64
  • destinyMembershipId
    The Destiny membershipId of the user to retrieve.
    Type: int64
  • membershipType
    A valid non-BungieNet membership type.
    The types of membership the Accounts system supports. This is the external facing enum used in place of the internal-only Bungie.SharedDefinitions.MembershipType.
    Type: int32

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Destiny2.GetDestinyAggregateActivityStats

Destiny2

Verb: GET

Path: /Destiny2/{membershipType}/Account/{destinyMembershipId}/Character/{characterId}/Stats/AggregateActivityStats/

Gets all activities the character has participated in together with aggregate statistics for those activities.

Path Parameters

  • characterId
    The specific character whose activities should be returned.
    Type: int64
  • destinyMembershipId
    The Destiny membershipId of the user to retrieve.
    Type: int64
  • membershipType
    A valid non-BungieNet membership type.
    The types of membership the Accounts system supports. This is the external facing enum used in place of the internal-only Bungie.SharedDefinitions.MembershipType.
    Type: int32

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Destiny2.GetPublicMilestoneContent

Destiny2

Verb: GET

Path: /Destiny2/Milestones/{milestoneHash}/Content/

Gets custom localized content for the milestone of the given hash, if it exists.

Path Parameters

  • milestoneHash
    The identifier for the milestone to be returned.
    Type: uint32

Response

Represents localized, extended content related to Milestones. This is intentionally returned by a separate endpoint and not with Character-level Milestone data because we do not put localized data into standard Destiny responses, both for brevity of response and for caching purposes. If you really need this data, hit the Milestone Content endpoint.
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Destiny2.GetPublicMilestones

Destiny2

Verb: GET

Path: /Destiny2/Milestones/

Gets public information about currently available Milestones.

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: object
Dictionary Key Type: uint32
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Destiny2.AwaInitializeRequest

Destiny2

Verb: POST

Path: /Destiny2/Awa/Initialize/

Initialize a request to perform an advanced write action.

Required Scope(s)

  • oauth2: AdvancedWriteActions

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Destiny2.AwaProvideAuthorizationResult

Destiny2

Verb: POST

Path: /Destiny2/Awa/AwaProvideAuthorizationResult/

Provide the result of the user interaction. Called by the Bungie Destiny App to approve or reject a request.

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: int32
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Destiny2.AwaGetActionToken

Destiny2

Verb: GET

Path: /Destiny2/Awa/GetActionToken/{correlationId}/

Returns the action token if user approves the request.

Required Scope(s)

  • oauth2: AdvancedWriteActions

Path Parameters

  • correlationId
    The identifier for the advanced write action request.
    Type: string

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

CommunityContent.GetCommunityContent

CommunityContent

Verb: GET

Path: /CommunityContent/Get/{sort}/{mediaFilter}/{page}/

Returns community content.

Path Parameters

  • mediaFilter
    The type of media to get
    Type: int32
  • page
    Zero based page
    Type: int32
  • sort
    The sort mode.
    Type: byte

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Trending.GetTrendingCategories

Trending

Verb: GET

Path: /Trending/Categories/

Returns trending items for Bungie.net, collapsed into the first page of items per category. For pagination within a category, call GetTrendingCategory.

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Trending.GetTrendingCategory

Trending

Verb: GET

Path: /Trending/Categories/{categoryId}/{pageNumber}/

Returns paginated lists of trending items for a category.

Path Parameters

  • categoryId
    The ID of the category for whom you want additional results.
    Type: string
  • pageNumber
    The page # of results to return.
    Type: int32

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Trending.GetTrendingEntryDetail

Trending

Verb: GET

Path: /Trending/Details/{trendingEntryType}/{identifier}/

Returns the detailed results for a specific trending entry. Note that trending entries are uniquely identified by a combination of *both* the TrendingEntryType *and* the identifier: the identifier alone is not guaranteed to be globally unique.

Path Parameters

  • identifier
    The identifier for the entity to be returned.
    Type: string
  • trendingEntryType
    The type of entity to be returned.
    The known entity types that you can have returned from Trending.
    Type: int32

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Fireteam.GetActivePrivateClanFireteamCount

Fireteam

Verb: GET

Path: /Fireteam/Clan/{groupId}/ActiveCount/

Gets a count of all active non-public fireteams for the specified clan. Maximum value returned is 25.

Required Scope(s)

  • oauth2: ReadGroups

Path Parameters

  • groupId
    The group id of the clan.
    Type: int64

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: int32
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Fireteam.GetAvailableClanFireteams

Fireteam

Verb: GET

Path: /Fireteam/Clan/{groupId}/Available/{platform}/{activityType}/{dateRange}/{slotFilter}/{publicOnly}/{page}/

Gets a listing of all of this clan's fireteams that are have available slots. Caller is not checked for join criteria so caching is maximized.

Required Scope(s)

  • oauth2: ReadGroups

Path Parameters

  • activityType
    The activity type to filter by.
    Type: int32
  • dateRange
    The date range to grab available fireteams.
    Type: byte
  • groupId
    The group id of the clan.
    Type: int64
  • page
    Zero based page
    Type: int32
  • platform
    The platform filter.
    Type: byte
  • publicOnly
    Determines public/private filtering.
    Type: byte
  • slotFilter
    Filters based on available slots
    Type: byte

Querystring Parameters

  • langFilter
    An optional language filter.
    Type: string

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Fireteam.SearchPublicAvailableClanFireteams

Fireteam

Verb: GET

Path: /Fireteam/Search/Available/{platform}/{activityType}/{dateRange}/{slotFilter}/{page}/

Gets a listing of all public fireteams starting now with open slots. Caller is not checked for join criteria so caching is maximized.

Required Scope(s)

  • oauth2: ReadGroups

Path Parameters

  • activityType
    The activity type to filter by.
    Type: int32
  • dateRange
    The date range to grab available fireteams.
    Type: byte
  • page
    Zero based page
    Type: int32
  • platform
    The platform filter.
    Type: byte
  • slotFilter
    Filters based on available slots
    Type: byte

Querystring Parameters

  • langFilter
    An optional language filter.
    Type: string

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Fireteam.GetMyClanFireteams

Fireteam

Verb: GET

Path: /Fireteam/Clan/{groupId}/My/{platform}/{includeClosed}/{page}/

Gets a listing of all fireteams that caller is an applicant, a member, or an alternate of.

Required Scope(s)

  • oauth2: ReadGroups

Path Parameters

  • groupId
    The group id of the clan. (This parameter is ignored unless the optional query parameter groupFilter is true).
    Type: int64
  • includeClosed
    If true, return fireteams that have been closed.
    Type: boolean
  • page
    Deprecated parameter, ignored.
    Type: int32
  • platform
    The platform filter.
    Type: byte

Querystring Parameters

  • groupFilter
    If true, filter by clan. Otherwise, ignore the clan and show all of the user's fireteams.
    Type: boolean
  • langFilter
    An optional language filter.
    Type: string

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Fireteam.GetClanFireteam

Fireteam

Verb: GET

Path: /Fireteam/Clan/{groupId}/Summary/{fireteamId}/

Gets a specific fireteam.

Required Scope(s)

  • oauth2: ReadGroups

Path Parameters

  • fireteamId
    The unique id of the fireteam.
    Type: int64
  • groupId
    The group id of the clan.
    Type: int64

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Social.GetFriendList


Verb: GET

Path: /Social/Friends/

Returns your Bungie Friend list

Required Scope(s)

  • oauth2: ReadUserData

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Social.GetFriendRequestList


Verb: GET

Path: /Social/Friends/Requests/

Returns your friend request queue.

Required Scope(s)

  • oauth2: ReadUserData

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Social.IssueFriendRequest


Verb: POST

Path: /Social/Friends/Add/{membershipId}/

Requests a friend relationship with the target user. Any of the target user's linked membership ids are valid inputs.

Required Scope(s)

  • oauth2: BnetWrite

Path Parameters

  • membershipId
    The membership id of the user you wish to add.
    Type: string

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: boolean
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Social.AcceptFriendRequest


Verb: POST

Path: /Social/Friends/Requests/Accept/{membershipId}/

Accepts a friend relationship with the target user. The user must be on your incoming friend request list, though no error will occur if they are not.

Required Scope(s)

  • oauth2: BnetWrite

Path Parameters

  • membershipId
    The membership id of the user you wish to accept.
    Type: string

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: boolean
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Social.DeclineFriendRequest


Verb: POST

Path: /Social/Friends/Requests/Decline/{membershipId}/

Declines a friend relationship with the target user. The user must be on your incoming friend request list, though no error will occur if they are not.

Required Scope(s)

  • oauth2: BnetWrite

Path Parameters

  • membershipId
    The membership id of the user you wish to decline.
    Type: string

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: boolean
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Social.RemoveFriend


Verb: POST

Path: /Social/Friends/Remove/{membershipId}/

Remove a friend relationship with the target user. The user must be on your friend list, though no error will occur if they are not.

Required Scope(s)

  • oauth2: BnetWrite

Path Parameters

  • membershipId
    The membership id of the user you wish to remove.
    Type: string

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: boolean
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Social.RemoveFriendRequest


Verb: POST

Path: /Social/Friends/Requests/Remove/{membershipId}/

Remove a friend relationship with the target user. The user must be on your outgoing request friend list, though no error will occur if they are not.

Required Scope(s)

  • oauth2: BnetWrite

Path Parameters

  • membershipId
    The membership id of the user you wish to remove.
    Type: string

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: boolean
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Social.GetPlatformFriendList


Verb: GET

Path: /Social/PlatformFriends/{friendPlatform}/{page}/

Gets the platform friend of the requested type, with additional information if they have Bungie accounts. Must have a recent login session with said platform.

Path Parameters

  • friendPlatform
    The platform friend type.
    Type: int32
  • page
    The zero based page to return. Page size is 100.
    Type: string

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

.GetAvailableLocales


Verb: GET

Path: /GetAvailableLocales/

List of available localization cultures

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: object
Dictionary Contents: string
Dictionary Key Type: string
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

.GetCommonSettings


Verb: GET

Path: /Settings/

Get the common settings used by the Bungie.Net environment.

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

.GetUserSystemOverrides


Verb: GET

Path: /UserSystemOverrides/

Get the user-specific system overrides that should be respected alongside common systems.

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: object
Dictionary Contents: Common.Models.CoreSystem
Dictionary Key Type: string
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

.GetGlobalAlerts


Verb: GET

Path: /GlobalAlerts/

Gets any active global alert for display in the forum banners, help pages, etc. Usually used for DOC alerts.

Querystring Parameters

  • includestreaming
    Determines whether Streaming Alerts are included in results
    Type: boolean

Response

Look at the Response property for more information about the nature of this response
Content Type: application/json
Type: object
Object Properties
Response
Type: array
Array Contents: GlobalAlert
ErrorCode
Type: int32
ThrottleSeconds
Type: int32
ErrorStatus
Type: string
Message
Type: string
MessageData
Type: object
Dictionary Contents: string
Dictionary Key Type: string
DetailedErrorTrace
Type: string

Entities

Applications.ApplicationScopes

Enumeration
Type: int64
Valid Enum Values
  • ReadBasicUserProfile: 1
    Read basic user profile information such as the user's handle, avatar icon, etc.
  • ReadGroups: 2
    Read Group/Clan Forums, Wall, and Members for groups and clans that the user has joined.
  • WriteGroups: 4
    Write Group/Clan Forums, Wall, and Members for groups and clans that the user has joined.
  • AdminGroups: 8
    Administer Group/Clan Forums, Wall, and Members for groups and clans that the user is a founder or an administrator.
  • BnetWrite: 16
    Create new groups, clans, and forum posts, along with other actions that are reserved for Bungie.net elevated scope: not meant to be used by third party applications.
  • MoveEquipDestinyItems: 32
    Move or equip Destiny items
  • ReadDestinyInventoryAndVault: 64
    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: 128
    Read user data such as who they are web notifications, clan/group memberships, recent activity, muted users.
  • EditUserData: 256
    Edit user data such as preferred language, status, motto, avatar selection and theme.
  • ReadDestinyVendorsAndAdvisors: 512
    Access vendor and advisor data specific to a user. OBSOLETE. This scope is only used on the Destiny 1 API.
  • ReadAndApplyTokens: 1024
    Read offer history and claim and apply tokens for the user.
  • AdvancedWriteActions: 2048
    Can perform actions that will result in a prompt to the user via the Destiny app.
  • PartnerOfferGrant: 4096
    Can user the partner offer api to claim rewards defined for a partner
  • DestinyUnlockValueQuery: 8192
    Allows an app to query sensitive information like unlock flags and values not available through normal methods.
  • UserPiiRead: 16384
    Allows an app to query sensitive user PII, most notably email information.

Applications.ApiUsage

Type: object
Object Properties
apiCalls
Counts for on API calls made for the time range.
Type: array
Array Contents: Applications.Series
throttledRequests
Instances of blocked requests or requests that crossed the warn threshold during the time range.
Type: array
Array Contents: Applications.Series

Applications.Series

Type: object
Object Properties
datapoints
Collection of samples with time and value.
Type: array
Array Contents: Applications.Datapoint
target
Target to which to datapoints apply.
Type: string

Applications.Datapoint

Type: object
Object Properties
time
Timestamp for the related count.
Type: date-time
count
Nullable
Count associated with timestamp
Type: double

Applications.Application

Type: object
Object Properties
applicationId
Unique ID assigned to the application
Type: int32
name
Name of the application
Type: string
redirectUrl
URL used to pass the user's authorization code to the application
Type: string
link
Link to website for the application where a user can learn more about the app.
Type: string
scope
Permissions the application needs to work
Type: int64
origin
Value of the Origin header sent in requests generated by this application.
Type: string
status
Current status of the application.
Type: int32
creationDate
Date the application was first added to our database.
Type: date-time
statusChanged
Date the application status last changed.
Type: date-time
firstPublished
Date the first time the application status entered the 'Public' status.
Type: date-time
team
List of team members who manage this application on Bungie.net. Will always consist of at least the application owner.
Type: array
overrideAuthorizeViewName
An optional override for the Authorize view name.
Type: string

Applications.ApplicationStatus

Enumeration
Type: int32
Valid Enum Values
  • None: 0
    No value assigned
  • Private: 1
    Application exists and works but will not appear in any public catalog. New applications start in this state, test applications will remain in this state.
  • Public: 2
    Active applications that can appear in an catalog.
  • Disabled: 3
    Application disabled by the owner. All authorizations will be treated as terminated while in this state. Owner can move back to private or public state.
  • Blocked: 4
    Application has been blocked by Bungie. It cannot be transitioned out of this state by the owner. Authorizations are terminated when an application is in this state.

Applications.ApplicationDeveloper

Type: object
Object Properties
role
Type: int32
apiEulaVersion
Type: int32
user

Applications.DeveloperRole

Enumeration
Type: int32
Valid Enum Values
  • None: 0
  • Owner: 1
  • TeamMember: 2

User.UserMembership

Very basic info about a user as returned by the Account server.
Type: object
Object Properties
membershipType
Type of the membership. Not necessarily the native type.
Type: int32
membershipId
Membership ID as they user is known in the Accounts service
Type: int64
displayName
Display Name the player has chosen for themselves. The display name is optional when the data type is used as input to a platform API.
Type: string
bungieGlobalDisplayName
The bungie global display name, if set.
Type: string
bungieGlobalDisplayNameCode
Nullable
The bungie global display name code, if set.
Type: int16

BungieMembershipType

Enumeration
The types of membership the Accounts system supports. This is the external facing enum used in place of the internal-only Bungie.SharedDefinitions.MembershipType.
Type: int32
Valid Enum Values
  • None: 0
  • TigerXbox: 1
  • TigerPsn: 2
  • TigerSteam: 3
  • TigerBlizzard: 4
  • TigerStadia: 5
  • TigerDemon: 10
  • BungieNext: 254
  • All: -1
    "All" is only valid for searching capabilities: you need to pass the actual matching BungieMembershipType for any query where you pass a known membershipId.

User.CrossSaveUserMembership

Very basic info about a user as returned by the Account server, but including CrossSave information. Do NOT use as a request contract.
Type: object
Object Properties
crossSaveOverride
If there is a cross save override in effect, this value will tell you the type that is overridding this one.
Type: int32
applicableMembershipTypes
The list of Membership Types indicating the platforms on which this Membership can be used.

Not in Cross Save = its original membership type. Cross Save Primary = Any membership types it is overridding, and its original membership type Cross Save Overridden = Empty list
Type: array
Array Contents: int32
isPublic
If True, this is a public user membership.
Type: boolean
membershipType
Type of the membership. Not necessarily the native type.
Type: int32
membershipId
Membership ID as they user is known in the Accounts service
Type: int64
displayName
Display Name the player has chosen for themselves. The display name is optional when the data type is used as input to a platform API.
Type: string
bungieGlobalDisplayName
The bungie global display name, if set.
Type: string
bungieGlobalDisplayNameCode
Nullable
The bungie global display name code, if set.
Type: int16

User.UserInfoCard

This contract supplies basic information commonly used to display a minimal amount of information about a user. Take care to not add more properties here unless the property applies in all (or at least the majority) of the situations where UserInfoCard is used. Avoid adding game specific or platform specific details here. In cases where UserInfoCard is a subset of the data needed in a contract, use UserInfoCard as a property of other contracts.
Type: object
Object Properties
supplementalDisplayName
A platform specific additional display name - ex: psn Real Name, bnet Unique Name, etc.
Type: string
iconPath
URL the Icon if available.
Type: string
crossSaveOverride
If there is a cross save override in effect, this value will tell you the type that is overridding this one.
Type: int32
applicableMembershipTypes
The list of Membership Types indicating the platforms on which this Membership can be used.

Not in Cross Save = its original membership type. Cross Save Primary = Any membership types it is overridding, and its original membership type Cross Save Overridden = Empty list
Type: array
Array Contents: int32
isPublic
If True, this is a public user membership.
Type: boolean
membershipType
Type of the membership. Not necessarily the native type.
Type: int32
membershipId
Membership ID as they user is known in the Accounts service
Type: int64
displayName
Display Name the player has chosen for themselves. The display name is optional when the data type is used as input to a platform API.
Type: string
bungieGlobalDisplayName
The bungie global display name, if set.
Type: string
bungieGlobalDisplayNameCode
Nullable
The bungie global display name code, if set.
Type: int16

User.GeneralUser

Type: object
Object Properties
membershipId
Type: int64
uniqueName
Type: string
normalizedName
Type: string
displayName
Type: string
profilePicture
Type: int32
profileTheme
Type: int32
userTitle
Type: int32
successMessageFlags
Type: int64
isDeleted
Type: boolean
about
Type: string
firstAccess
Nullable
Type: date-time
lastUpdate
Nullable
Type: date-time
legacyPortalUID
Nullable
Type: int64
context
psnDisplayName
Type: string
xboxDisplayName
Type: string
fbDisplayName
Type: string
showActivity
Nullable
Type: boolean
locale
Type: string
localeInheritDefault
Type: boolean
lastBanReportId
Nullable
Type: int64
showGroupMessaging
Type: boolean
profilePicturePath
Type: string
profilePictureWidePath
Type: string
profileThemeName
Type: string
userTitleDisplay
Type: string
statusText
Type: string
statusDate
Type: date-time
profileBanExpire
Nullable
Type: date-time
blizzardDisplayName
Type: string
steamDisplayName
Type: string
stadiaDisplayName
Type: string
twitchDisplayName
Type: string
cachedBungieGlobalDisplayName
Type: string
cachedBungieGlobalDisplayNameCode
Nullable
Type: int16

User.UserToUserContext

Type: object
Object Properties
isFollowing
Type: boolean
ignoreStatus
globalIgnoreEndDate
Nullable
Type: date-time

Ignores.IgnoreResponse

Type: object
Object Properties
isIgnored
Type: boolean
ignoreFlags
Type: int32

Ignores.IgnoreStatus

Enumeration
Type: int32
Valid Enum Values
  • NotIgnored: 0
  • IgnoredUser: 1
  • IgnoredGroup: 2
  • IgnoredByGroup: 4
  • IgnoredPost: 8
  • IgnoredTag: 16
  • IgnoredGlobal: 32

User.Models.GetCredentialTypesForAccountResponse

Type: object
Object Properties
credentialType
Type: byte
credentialDisplayName
Type: string
isPublic
Type: boolean
credentialAsString
Type: string

BungieCredentialType

Enumeration
The types of credentials the Accounts system supports. This is the external facing enum used in place of the internal-only Bungie.SharedDefinitions.CredentialType.
Type: byte
Valid Enum Values
  • None: 0
  • Xuid: 1
  • Psnid: 2
  • Wlid: 3
  • Fake: 4
  • Facebook: 5
  • Google: 8
  • Windows: 9
  • DemonId: 10
  • SteamId: 12
  • BattleNetId: 14
  • StadiaId: 16
  • TwitchId: 18

Config.UserTheme

Type: object
Object Properties
userThemeId
Type: int32
userThemeName
Type: string
userThemeDescription
Type: string

User.UserMembershipData

Type: object
Object Properties
destinyMemberships
this allows you to see destiny memberships that are visible and linked to this account (regardless of whether or not they have characters on the world server)
Type: array
Array Contents: GroupsV2.GroupUserInfoCard
primaryMembershipId
Nullable
If this property is populated, it will have the membership ID of the account considered to be "primary" in this user's cross save relationship.

If null, this user has no cross save relationship, nor primary account.
Type: int64
bungieNetUser

GroupsV2.GroupUserInfoCard

Type: object
Object Properties
LastSeenDisplayName
This will be the display name the clan server last saw the user as. If the account is an active cross save override, this will be the display name to use. Otherwise, this will match the displayName property.
Type: string
LastSeenDisplayNameType
The platform of the LastSeenDisplayName
Type: int32
supplementalDisplayName
A platform specific additional display name - ex: psn Real Name, bnet Unique Name, etc.
Type: string
iconPath
URL the Icon if available.
Type: string
crossSaveOverride
If there is a cross save override in effect, this value will tell you the type that is overridding this one.
Type: int32
applicableMembershipTypes
The list of Membership Types indicating the platforms on which this Membership can be used.

Not in Cross Save = its original membership type. Cross Save Primary = Any membership types it is overridding, and its original membership type Cross Save Overridden = Empty list
Type: array
Array Contents: int32
isPublic
If True, this is a public user membership.
Type: boolean
membershipType
Type of the membership. Not necessarily the native type.
Type: int32
membershipId
Membership ID as they user is known in the Accounts service
Type: int64
displayName
Display Name the player has chosen for themselves. The display name is optional when the data type is used as input to a platform API.
Type: string
bungieGlobalDisplayName
The bungie global display name, if set.
Type: string
bungieGlobalDisplayNameCode
Nullable
The bungie global display name code, if set.
Type: int16

User.HardLinkedUserMembership

Type: object
Object Properties
membershipType
Type: int32
membershipId
Type: int64
CrossSaveOverriddenType
Type: int32
CrossSaveOverriddenMembershipId
Nullable
Type: int64

User.UserSearchResponse

Type: object
Object Properties
searchResults
Type: array
page
Type: int32
hasMore
Type: boolean

User.UserSearchResponseDetail

Type: object
Object Properties
bungieGlobalDisplayName
Type: string
bungieGlobalDisplayNameCode
Nullable
Type: int16
bungieNetMembershipId
Nullable
Type: int64
destinyMemberships
Type: array
Array Contents: User.UserInfoCard

Content.Models.ContentTypeDescription

Type: object
Object Properties
cType
Type: string
name
Type: string
contentDescription
Type: string
previewImage
Type: string
priority
Type: int32
reminder
Type: string
properties
Type: array
tagMetadata
Type: array
tagMetadataItems
Type: object
Dictionary Contents: Content.Models.TagMetadataItem
Dictionary Key Type: string
usageExamples
Type: array
Array Contents: string
showInContentEditor
Type: boolean
typeOf
Type: string
bindIdentifierToProperty
Type: string
boundRegex
Type: string
forceIdentifierBinding
Type: boolean
allowComments
Type: boolean
autoEnglishPropertyFallback
Type: boolean
bulkUploadable
Type: boolean
previews
Type: array
suppressCmsPath
Type: boolean
propertySections
Type: array

Content.Models.ContentTypeProperty

Type: object
Object Properties
name
Type: string
rootPropertyName
Type: string
readableName
Type: string
value
Type: string
propertyDescription
Type: string
localizable
Type: boolean
fallback
Type: boolean
enabled
Type: boolean
order
Type: int32
visible
Type: boolean
isTitle
Type: boolean
required
Type: boolean
maxLength
Type: int32
maxByteLength
Type: int32
maxFileSize
Type: int32
regexp
Type: string
validateAs
Type: string
rssAttribute
Type: string
visibleDependency
Type: string
visibleOn
Type: string
datatype
Type: int32
attributes
Type: object
Dictionary Contents: string
Dictionary Key Type: string
childProperties
Type: array
contentTypeAllowed
Type: string
bindToProperty
Type: string
boundRegex
Type: string
representationSelection
Type: object
Dictionary Contents: string
Dictionary Key Type: string
defaultValues
Type: array
isExternalAllowed
Type: boolean
propertySection
Type: string
weight
Type: int32
entitytype
Type: string
isCombo
Type: boolean
suppressProperty
Type: boolean
legalContentTypes
Type: array
Array Contents: string
representationValidationString
Type: string
minWidth
Type: int32
maxWidth
Type: int32
minHeight
Type: int32
maxHeight
Type: int32
isVideo
Type: boolean
isImage
Type: boolean

Content.Models.ContentPropertyDataTypeEnum

Enumeration
Type: int32
Valid Enum Values
  • None: 0
  • Plaintext: 1
  • Html: 2
  • Dropdown: 3
  • List: 4
  • Json: 5
  • Content: 6
  • Representation: 7
  • Set: 8
  • File: 9
  • FolderSet: 10
  • Date: 11
  • MultilinePlaintext: 12
  • DestinyContent: 13
  • Color: 14

Content.Models.ContentTypeDefaultValue

Type: object
Object Properties
whenClause
Type: string
whenValue
Type: string
defaultValue
Type: string

Content.Models.TagMetadataDefinition

Type: object
Object Properties
description
Type: string
order
Type: int32
items
Type: array
datatype
Type: string
name
Type: string
isRequired
Type: boolean

Content.Models.TagMetadataItem

Type: object
Object Properties
description
Type: string
tagText
Type: string
groups
Type: array
Array Contents: string
isDefault
Type: boolean
name
Type: string

Content.Models.ContentPreview

Type: object
Object Properties
name
Type: string
path
Type: string
itemInSet
Type: boolean
setTag
Type: string
setNesting
Type: int32
useSetId
Type: int32

Content.Models.ContentTypePropertySection

Type: object
Object Properties
name
Type: string
readableName
Type: string
collapsed
Type: boolean

Content.ContentItemPublicContract

Type: object
Object Properties
contentId
Type: int64
cType
Type: string
cmsPath
Type: string
creationDate
Type: date-time
modifyDate
Type: date-time
allowComments
Type: boolean
hasAgeGate
Type: boolean
minimumAge
Type: int32
ratingImagePath
Type: string
author
autoEnglishPropertyFallback
Type: boolean
properties
Firehose content is really a collection of metadata and "properties", which are the potentially-but-not-strictly localizable data that comprises the meat of whatever content is being shown.

As Cole Porter would have crooned, "Anything Goes" with Firehose properties. They are most often strings, but they can theoretically be anything. They are JSON encoded, and could be JSON structures, simple strings, numbers etc... The Content Type of the item (cType) will describe the properties, and thus how they ought to be deserialized.
Type: object
Dictionary Contents: object
Dictionary Key Type: string
representations
Type: array
tags
NOTE: Tags will always be lower case.
Type: array
Array Contents: string
commentSummary

Content.ContentRepresentation

Type: object
Object Properties
name
Type: string
path
Type: string
validationString
Type: string

Content.CommentSummary

Type: object
Object Properties
topicId
Type: int64
commentCount
Type: int32

Queries.SearchResult

Type: object
Object Properties
totalResults
Type: int32
hasMore
Type: boolean
query
replacementContinuationToken
Type: string
useTotalResults
If useTotalResults is true, then totalResults represents an accurate count.

If False, it does not, and may be estimated/only the size of the current page.

Either way, you should probably always only trust hasMore.

This is a long-held historical throwback to when we used to do paging with known total results. Those queries toasted our database, and we were left to hastily alter our endpoints and create backward- compatible shims, of which useTotalResults is one.
Type: boolean

Queries.PagedQuery

Type: object
Object Properties
itemsPerPage
Type: int32
currentPage
Type: int32
requestContinuationToken
Type: string

SearchResultOfContentItemPublicContract

Type: object
Object Properties
results
Type: array
totalResults
Type: int32
hasMore
Type: boolean
query
replacementContinuationToken
Type: string
useTotalResults
If useTotalResults is true, then totalResults represents an accurate count.

If False, it does not, and may be estimated/only the size of the current page.

Either way, you should probably always only trust hasMore.

This is a long-held historical throwback to when we used to do paging with known total results. Those queries toasted our database, and we were left to hastily alter our endpoints and create backward- compatible shims, of which useTotalResults is one.
Type: boolean

Forum.ForumTopicsCategoryFiltersEnum

Enumeration
Type: int32
Valid Enum Values
  • None: 0
  • Links: 1
  • Questions: 2
  • AnsweredQuestions: 4
  • Media: 8
  • TextOnly: 16
  • Announcement: 32
  • BungieOfficial: 64
  • Polls: 128

Forum.ForumTopicsQuickDateEnum

Enumeration
Type: int32
Valid Enum Values
  • All: 0
  • LastYear: 1
  • LastMonth: 2
  • LastWeek: 3
  • LastDay: 4

Forum.ForumTopicsSortEnum

Enumeration
Type: byte
Valid Enum Values
  • Default: 0
  • LastReplied: 1
  • MostReplied: 2
  • Popularity: 3
  • Controversiality: 4
  • Liked: 5
  • HighestRated: 6
  • MostUpvoted: 7

Forum.PostResponse

Type: object
Object Properties
lastReplyTimestamp
Type: date-time
IsPinned
Type: boolean
urlMediaType
Type: int32
thumbnail
Type: string
popularity
Type: int32
isActive
Type: boolean
isAnnouncement
Type: boolean
userRating
Type: int32
userHasRated
Type: boolean
userHasMutedPost
Type: boolean
latestReplyPostId
Type: int64
latestReplyAuthorId
Type: int64
ignoreStatus
locale
Type: string

Forum.ForumMediaType

Enumeration
Type: int32
Valid Enum Values
  • None: 0
  • Image: 1
  • Video: 2
  • Youtube: 3

Forum.ForumPostPopularity

Enumeration
Type: int32
Valid Enum Values
  • Empty: 0
  • Default: 1
  • Discussed: 2
  • CoolStory: 3
  • HeatingUp: 4
  • Hot: 5

Forums.ForumPostCategoryEnums

Enumeration
Type: int32
Valid Enum Values
  • None: 0
  • TextOnly: 1
  • Media: 2
  • Link: 4
  • Poll: 8
  • Question: 16
  • Answered: 32
  • Announcement: 64
  • ContentComment: 128
  • BungieOfficial: 256
  • NinjaOfficial: 512
  • Recruitment: 1024

Forums.ForumFlagsEnum

Enumeration
Type: int32
Valid Enum Values
  • None: 0
  • BungieStaffPost: 1
  • ForumNinjaPost: 2
  • ForumMentorPost: 4
  • TopicBungieStaffPosted: 8
  • TopicBungieVolunteerPosted: 16
  • QuestionAnsweredByBungie: 32
  • QuestionAnsweredByNinja: 64
  • CommunityContent: 128

SearchResultOfPostResponse

Type: object
Object Properties
results
Type: array
Array Contents: Forum.PostResponse
totalResults
Type: int32
hasMore
Type: boolean
query
replacementContinuationToken
Type: string
useTotalResults
If useTotalResults is true, then totalResults represents an accurate count.

If False, it does not, and may be estimated/only the size of the current page.

Either way, you should probably always only trust hasMore.

This is a long-held historical throwback to when we used to do paging with known total results. Those queries toasted our database, and we were left to hastily alter our endpoints and create backward- compatible shims, of which useTotalResults is one.
Type: boolean

Forum.PostSearchResponse

Type: object
Object Properties
relatedPosts
Type: array
Array Contents: Forum.PostResponse
authors
Type: array
Array Contents: User.GeneralUser
groups
Type: array
Array Contents: GroupsV2.GroupResponse
searchedTags
Type: array
polls
Type: array
Array Contents: Forum.PollResponse
recruitmentDetails
Type: array
availablePages
Nullable
Type: int32
results
Type: array
Array Contents: Forum.PostResponse
totalResults
Type: int32
hasMore
Type: boolean
query
replacementContinuationToken
Type: string
useTotalResults
If useTotalResults is true, then totalResults represents an accurate count.

If False, it does not, and may be estimated/only the size of the current page.

Either way, you should probably always only trust hasMore.

This is a long-held historical throwback to when we used to do paging with known total results. Those queries toasted our database, and we were left to hastily alter our endpoints and create backward- compatible shims, of which useTotalResults is one.
Type: boolean

GroupsV2.GroupResponse

Type: object
Object Properties
detail
founder
alliedIds
Type: array
Array Contents: int64
parentGroup
allianceStatus
Type: int32
groupJoinInviteCount
Type: int32
currentUserMembershipsInactiveForDestiny
A convenience property that indicates if every membership you (the current user) have that is a part of this group are part of an account that is considered inactive - for example, overridden accounts in Cross Save.
Type: boolean
currentUserMemberMap
This property will be populated if the authenticated user is a member of the group. Note that because of account linking, a user can sometimes be part of a clan more than once. As such, this returns the highest member type available.
Type: object
Dictionary Contents: GroupsV2.GroupMember
Dictionary Key Type: int32
currentUserPotentialMemberMap
This property will be populated if the authenticated user is an applicant or has an outstanding invitation to join. Note that because of account linking, a user can sometimes be part of a clan more than once.
Type: object
Dictionary Contents: GroupsV2.GroupPotentialMember
Dictionary Key Type: int32

GroupsV2.GroupV2

Type: object
Object Properties
groupId
Type: int64
name
Type: string
groupType
Type: int32
membershipIdCreated
Type: int64
creationDate
Type: date-time
modificationDate
Type: date-time
about
Type: string
tags
Type: array
Array Contents: string
memberCount
Type: int32
isPublic
Type: boolean
isPublicTopicAdminOnly
Type: boolean
motto
Type: string
allowChat
Type: boolean
isDefaultPostPublic
Type: boolean
chatSecurity
Type: int32
locale
Type: string
avatarImageIndex
Type: int32
homepage
Type: int32
membershipOption
Type: int32
defaultPublicity
Type: int32
theme
Type: string
bannerPath
Type: string
avatarPath
Type: string
conversationId
Type: int64
enableInvitationMessagingForAdmins
Type: boolean
banExpireDate
Nullable
Type: date-time
features

GroupsV2.GroupType

Enumeration
Type: int32
Valid Enum Values
  • General: 0
  • Clan: 1

GroupsV2.ChatSecuritySetting

Enumeration
Type: int32
Valid Enum Values
  • Group: 0
  • Admins: 1

GroupsV2.GroupHomepage

Enumeration
Type: int32
Valid Enum Values
  • Wall: 0
  • Forum: 1
  • AllianceForum: 2

GroupsV2.MembershipOption

Enumeration
Type: int32
Valid Enum Values
  • Reviewed: 0
  • Open: 1
  • Closed: 2

GroupsV2.GroupPostPublicity

Enumeration
Type: int32
Valid Enum Values
  • Public: 0
  • Alliance: 1
  • Private: 2

GroupsV2.GroupFeatures

Type: object
Object Properties
maximumMembers
Type: int32
maximumMembershipsOfGroupType
Maximum number of groups of this type a typical membership may join. For example, a user may join about 50 General groups with their Bungie.net account. They may join one clan per Destiny membership.
Type: int32
capabilities
Type: int32
membershipTypes
Type: array
Array Contents: int32
invitePermissionOverride
Minimum Member Level allowed to invite new members to group

Always Allowed: Founder, Acting Founder

True means admins have this power, false means they don't

Default is false for clans, true for groups.
Type: boolean
updateCulturePermissionOverride
Minimum Member Level allowed to update group culture

Always Allowed: Founder, Acting Founder

True means admins have this power, false means they don't

Default is false for clans, true for groups.
Type: boolean
hostGuidedGamePermissionOverride
Minimum Member Level allowed to host guided games

Always Allowed: Founder, Acting Founder, Admin

Allowed Overrides: None, Member, Beginner

Default is Member for clans, None for groups, although this means nothing for groups.
Type: int32
updateBannerPermissionOverride
Minimum Member Level allowed to update banner

Always Allowed: Founder, Acting Founder

True means admins have this power, false means they don't

Default is false for clans, true for groups.
Type: boolean
joinLevel
Level to join a member at when accepting an invite, application, or joining an open clan

Default is Beginner.
Type: int32

GroupsV2.Capabilities

Enumeration
Type: int32
Valid Enum Values
  • None: 0
  • Leaderboards: 1
  • Callsign: 2
  • OptionalConversations: 4
  • ClanBanner: 8
  • D2InvestmentData: 16
  • Tags: 32
  • Alliances: 64

BungieMembershipType[]

Type: array
Array Contents: int32

GroupsV2.HostGuidedGamesPermissionLevel

Enumeration
Used for setting the guided game permission level override (admins and founders can always host guided games).
Type: int32
Valid Enum Values
  • None: 0
  • Beginner: 1
  • Member: 2

GroupsV2.RuntimeGroupMemberType

Enumeration
The member levels used by all V2 Groups API. Individual group types use their own mappings in their native storage (general uses BnetDbGroupMemberType and D2 clans use ClanMemberLevel), but they are all translated to this in the runtime api. These runtime values should NEVER be stored anywhere, so the values can be changed as necessary.
Type: int32
Valid Enum Values
  • None: 0
  • Beginner: 1
  • Member: 2
  • Admin: 3
  • ActingFounder: 4
  • Founder: 5

GroupsV2.GroupV2ClanInfo

This contract contains clan-specific group information. It does not include any investment data.
Type: object
Object Properties
clanCallsign
Type: string
clanBannerData

GroupsV2.ClanBanner

Type: object
Object Properties
decalId
Type: uint32
decalColorId
Type: uint32
decalBackgroundColorId
Type: uint32
gonfalonId
Type: uint32
gonfalonColorId
Type: uint32
gonfalonDetailId
Type: uint32
gonfalonDetailColorId
Type: uint32

GroupsV2.GroupV2ClanInfoAndInvestment

The same as GroupV2ClanInfo, but includes any investment data.
Type: object
Object Properties
d2ClanProgressions
Type: object
Dictionary Contents: Destiny.DestinyProgression
Dictionary Key Type: uint32
clanCallsign
Type: string
clanBannerData

Destiny.DestinyProgression

Information about a current character's status with a Progression. A progression is a value that can increase with activity and has levels. Think Character Level and Reputation Levels. Combine this "live" data with the related DestinyProgressionDefinition for a full picture of the Progression.
Type: object
Object Properties
progressionHash
Mapped to Definition
The hash identifier of the Progression in question. Use it to look up the DestinyProgressionDefinition in static data.
Type: uint32
Mapped to Manifest Database Definition: Destiny.Definitions.DestinyProgressionDefinition
dailyProgress
The amount of progress earned today for this progression.
Type: int32
dailyLimit
If this progression has a daily limit, this is that limit.
Type: int32
weeklyProgress
The amount of progress earned toward this progression in the current week.
Type: int32
weeklyLimit
If this progression has a weekly limit, this is that limit.
Type: int32
currentProgress
This is the total amount of progress obtained overall for this progression (for instance, the total amount of Character Level experience earned)
Type: int32
level
This is the level of the progression (for instance, the Character Level).
Type: int32
levelCap
This is the maximum possible level you can achieve for this progression (for example, the maximum character level obtainable)
Type: int32
stepIndex
Progressions define their levels in "steps". Since the last step may be repeatable, the user may be at a higher level than the actual Step achieved in the progression. Not necessarily useful, but potentially interesting for those cruising the API. Relate this to the "steps" property of the DestinyProgression to see which step the user is on, if you care about that. (Note that this is Content Version dependent since it refers to indexes.)
Type: int32
progressToNextLevel
The amount of progression (i.e. "Experience") needed to reach the next level of this Progression. Jeez, progression is such an overloaded word.
Type: int32
nextLevelAt
The total amount of progression (i.e. "Experience") needed in order to reach the next level.
Type: int32
currentResetCount
Nullable
The number of resets of this progression you've executed this season, if applicable to this progression.
Type: int32
seasonResets
Information about historical resets of this progression, if there is any data for it.
Type: array
rewardItemStates
Information about historical rewards for this progression, if there is any data for it.
Type: array
Array Contents: int32

Destiny.DestinyProgressionResetEntry

Represents a season and the number of resets you had in that season.

We do not necessarily - even for progressions with resets - track it over all seasons. So be careful and check the season numbers being returned.
Type: object
Object Properties
season
Type: int32
resets
Type: int32

Destiny.DestinyProgressionRewardItemState

Enumeration
Represents the different states a progression reward item can be in.
Type: int32
Valid Enum Values
  • None: 0
  • Invisible: 1
    If this is set, the reward should be hidden.
  • Earned: 2
    If this is set, the reward has been earned.
  • Claimed: 4
    If this is set, the reward has been claimed.
  • ClaimAllowed: 8
    If this is set, the reward is allowed to be claimed by this Character. An item can be earned but still can't be claimed in certain circumstances, like if it's only allowed for certain subclasses. It also might not be able to be claimed if you already claimed it!

Destiny.Definitions.DestinyDefinition

Provides common properties for destiny definitions.
Type: object
Object Properties
hash
The unique identifier for this entity. Guaranteed to be unique for the type of entity, but not globally.

When entities refer to each other in Destiny content, it is this hash that they are referring to.
Type: uint32
index
The index of the entity as it was found in the investment tables.
Type: int32
redacted
If this is true, then there is an entity with this identifier/type combination, but BNet is not yet allowed to show it. Sorry!
Type: boolean

Destiny.Definitions.DestinyProgressionDefinition

Mobile Manifest Entity
A "Progression" in Destiny is best explained by an example.

A Character's "Level" is a progression: it has Experience that can be earned, levels that can be gained, and is evaluated and displayed at various points in the game. A Character's "Faction Reputation" is also a progression for much the same reason.

Progression is used by a variety of systems, and the definition of a Progression will generally only be useful if combining with live data (such as a character's DestinyCharacterProgressionComponent.progressions property, which holds that character's live Progression states).

Fundamentally, a Progression measures your "Level" by evaluating the thresholds in its Steps (one step per level, except for the last step which can be repeated indefinitely for "Levels" that have no ceiling) against the total earned "progression points"/experience. (for simplicity purposes, we will henceforth refer to earned progression points as experience, though it need not be a mechanic that in any way resembles Experience in a traditional sense).

Earned experience is calculated in a variety of ways, determined by the Progression's scope. These go from looking up a stored value to performing exceedingly obtuse calculations. This is why we provide live data in DestinyCharacterProgressionComponent.progressions, so you don't have to worry about those.
Mapped to Mobile Manifest Table: Progressions
Type: object
Object Properties
scope
The "Scope" of the progression indicates the source of the progression's live data.

See the DestinyProgressionScope enum for more info: but essentially, a Progression can either be backed by a stored value, or it can be a calculated derivative of other values.
Type: int32
repeatLastStep
If this is True, then the progression doesn't have a maximum level.
Type: boolean
source
If there's a description of how to earn this progression in the local config, this will be that localized description.
Type: string
steps
Progressions are divided into Steps, which roughly equate to "Levels" in the traditional sense of a Progression. Notably, the last step can be repeated indefinitely if repeatLastStep is true, meaning that the calculation for your level is not as simple as comparing your current progress to the max progress of the steps.

These and more calculations are done for you if you grab live character progression data, such as in the DestinyCharacterProgressionComponent.
Type: array
visible
If true, the Progression is something worth showing to users.

If false, BNet isn't going to show it. But that doesn't mean you can't. We're all friends here.
Type: boolean
factionHash
Nullable Mapped to Definition
If the value exists, this is the hash identifier for the Faction that owns this Progression.

This is purely for convenience, if you're looking at a progression and want to know if and who it's related to in terms of Faction Reputation.
Type: uint32
Mapped to Manifest Database Definition: Destiny.Definitions.DestinyFactionDefinition
color
The #RGB string value for the color related to this progression, if there is one.
Type: object
rankIcon
For progressions that have it, this is the rank icon we use in the Companion, displayed above the progressions' rank value.
Type: string
rewardItems
hash
The unique identifier for this entity. Guaranteed to be unique for the type of entity, but not globally.

When entities refer to each other in Destiny content, it is this hash that they are referring to.
Type: uint32
index
The index of the entity as it was found in the investment tables.
Type: int32
redacted
If this is true, then there is an entity with this identifier/type combination, but BNet is not yet allowed to show it. Sorry!
Type: boolean

Destiny.Definitions.Common.DestinyDisplayPropertiesDefinition

Many Destiny*Definition contracts - the "first order" entities of Destiny that have their own tables in the Manifest Database - also have displayable information. This is the base class for that display information.
Type: object
Object Properties
description
Type: string
name
Type: string
icon
Note that "icon" is sometimes misleading, and should be interpreted in the context of the entity. For instance, in Destiny 1 the DestinyRecordBookDefinition's icon was a big picture of a book.

But usually, it will be a small square image that you can use as... well, an icon.

They are currently represented as 96px x 96px images.
Type: string
iconSequences
highResIcon
If this item has a high-res icon (at least for now, many things won't), then the path to that icon will be here.
Type: string
hasIcon
Type: boolean

Destiny.Definitions.Common.DestinyIconSequenceDefinition

Type: object
Object Properties
frames
Type: arr