destiny2 library

Classes

AwaAuthorizationResult
AwaAuthorizationResultResponse
Look at the Response property for more information about the nature of this response
AwaInitializeResponse
AwaInitializeResponseResponse
Look at the Response property for more information about the nature of this response
AwaPermissionRequested
AwaUserResponse
Destiny2
DestinyActionRequest
DestinyActivity
Represents the "Live" data that we can obtain about a Character's status with a specific Activity. This will tell you whether the character can participate in the activity, as well as some other basic mutable information. Meant to be combined with static DestinyActivityDefinition data for a full picture of the Activity.
DestinyActivityChallengeDefinition
Represents a reference to a Challenge, which for now is just an Objective.
DestinyActivityDefinition
The static data about Activities in Destiny 2. Note that an Activity must be combined with an ActivityMode to know - from a Gameplay perspective - what the user is "Playing". In most PvE activities, this is fairly straightforward. A Story Activity can only be played in the Story Activity Mode. However, in PvP activities, the Activity alone only tells you the map being played, or the Playlist that the user chose to enter. You'll need to know the Activity Mode they're playing to know that they're playing Mode X on Map Y. Activity Definitions tell a great deal of information about what could be relevant to a user: what rewards they can earn, what challenges could be performed, what modifiers could be applied. To figure out which of these properties is actually live, you'll need to combine the definition with "Live" data from one of the Destiny endpoints. Activities also have Activity Types, but unfortunately in Destiny 2 these are even less reliable of a source of information than they were in Destiny 1. I will be looking into ways to provide more reliable sources for type information as time goes on, but for now we're going to have to deal with the limitations. See DestinyActivityTypeDefinition for more information.
DestinyActivityGraphArtElementDefinition
These Art Elements are meant to represent one-off visual effects overlaid on the map. Currently, we do not have a pipeline to import the assets for these overlays, so this info exists as a placeholder for when such a pipeline exists (if it ever will)
DestinyActivityGraphConnectionDefinition
Nodes on a graph can be visually connected: this appears to be the information about which nodes to link. It appears to lack more detailed information, such as the path for that linking.
DestinyActivityGraphDefinition
Represents a Map View in the director: be them overview views, destination views, or other. They have nodes which map to activities, and other various visual elements that we (or others) may or may not be able to use. Activity graphs, most importantly, have nodes which can have activities in various states of playability. Unfortunately, activity graphs are combined at runtime with Game UI-only assets such as fragments of map images, various in-game special effects, decals etc... that we don't get in these definitions. If we end up having time, we may end up trying to manually populate those here: but the last time we tried that, before the lead-up to D1, it proved to be unmaintainable as the game's content changed. So don't bet the farm on us providing that content in this definition.
DestinyActivityGraphDisplayObjectiveDefinition
When a Graph needs to show active Objectives, this defines those objectives as well as an identifier.
DestinyActivityGraphDisplayProgressionDefinition
When a Graph needs to show active Progressions, this defines those objectives as well as an identifier.
DestinyActivityGraphListEntryDefinition
Destinations and Activities may have default Activity Graphs that should be shown when you bring up the Director and are playing in either. This contract defines the graph referred to and the gating for when it is relevant.
DestinyActivityGraphNodeActivityDefinition
The actual activity to be redirected to when you click on the node. Note that a node can have many Activities attached to it: but only one will be active at any given time. The list of Node Activities will be traversed, and the first one found to be active will be displayed. This way, a node can layer multiple variants of an activity on top of each other. For instance, one node can control the weekly Crucible Playlist. There are multiple possible playlists, but only one is active for the week.
DestinyActivityGraphNodeDefinition
This is the position and other data related to nodes in the activity graph that you can click to launch activities. An Activity Graph node will only have one active Activity at a time, which will determine the activity to be launched (and, unless overrideDisplay information is provided, will also determine the tooltip and other UI related to the node)
DestinyActivityGraphNodeFeaturingStateDefinition
Nodes can have different visual states. This object represents a single visual state ("highlight type") that a node can be in, and the unlock expression condition to determine whether it should be set.
DestinyActivityGraphNodeStateEntry
Represents a single state that a graph node might end up in. Depending on what's going on in the game, graph nodes could be shown in different ways or even excluded from view entirely.
DestinyActivityGuidedBlockDefinition
Guided Game information for this activity.
DestinyActivityHistoryResults
DestinyActivityHistoryResultsResponse
Look at the Response property for more information about the nature of this response
DestinyActivityInsertionPointDefinition
A point of entry into an activity, gated by an unlock flag and with some more-or-less useless (for our purposes) phase information. I'm including it in case we end up being able to bolt more useful information onto it in the future. UPDATE: Turns out this information isn't actually useless, and is in fact actually useful for people. Who would have thought? We still don't have localized info for it, but at least this will help people when they're looking at phase indexes in stats data, or when they want to know what phases have been completed on a weekly achievement.
DestinyActivityLoadoutRequirement
DestinyActivityLoadoutRequirementSet
DestinyActivityMatchmakingBlockDefinition
Information about matchmaking and party size for the activity.
DestinyActivityModeDefinition
This definition represents an "Activity Mode" as it exists in the Historical Stats endpoints. An individual Activity Mode represents a collection of activities that are played in a certain way. For example, Nightfall Strikes are part of a "Nightfall" activity mode, and any activities played as the PVP mode "Clash" are part of the "Clash activity mode. Activity modes are nested under each other in a hierarchy, so that if you ask for - for example - "AllPvP", you will get any PVP activities that the user has played, regardless of what specific PVP mode was being played.
DestinyActivityModifierDefinition
Modifiers - in Destiny 1, these were referred to as "Skulls" - are changes that can be applied to an Activity.
DestinyActivityModifierReferenceDefinition
A reference to an Activity Modifier from another entity, such as an Activity (for now, just Activities). This defines some
DestinyActivityPlaylistItemDefinition
If the activity is a playlist, this is the definition for a specific entry in the playlist: a single possible combination of Activity and Activity Mode that can be chosen.
DestinyActivityRewardDefinition
Activities can refer to one or more sets of tooltip-friendly reward data. These are the definitions for those tooltip friendly rewards.
DestinyActivityTypeDefinition
The definition for an Activity Type. In Destiny 2, an Activity Type represents a conceptual categorization of Activities. These are most commonly used in the game for the subtitle under Activities, but BNet uses them extensively to identify and group activities by their common properties. Unfortunately, there has been a movement away from providing the richer data in Destiny 2 that we used to get in Destiny 1 for Activity Types. For instance, Nightfalls are grouped under the same Activity Type as regular Strikes. For this reason, BNet will eventually migrate toward Activity Modes as a better indicator of activity category. But for the time being, it is still referred to in many places across our codebase.
DestinyActivityUnlockStringDefinition
Represents a status string that could be conditionally displayed about an activity. Note that externally, you can only see the strings themselves. Internally we combine this information with server state to determine which strings should be shown.
DestinyAggregateActivityResults
DestinyAggregateActivityResultsResponse
Look at the Response property for more information about the nature of this response
DestinyAggregateActivityStats
DestinyAnimationReference
DestinyArrangementRegionFilterDefinition
DestinyArtDyeReference
DestinyArtifactCharacterScoped
DestinyArtifactDefinition
Represents known info about a Destiny Artifact. We cannot guarantee that artifact definitions will be immutable between seasons - in fact, we've been told that they will be replaced between seasons. But this definition is built both to minimize the amount of lookups for related data that have to occur, and is built in hope that, if this plan changes, we will be able to accommodate it more easily.
DestinyArtifactProfileScoped
Represents a Seasonal Artifact and all data related to it for the requested Account. It can be combined with Character-scoped data for a full picture of what a character has available/has chosen, or just these settings can be used for overview information.
DestinyArtifactTier
DestinyArtifactTierDefinition
DestinyArtifactTierItem
DestinyArtifactTierItemDefinition
DestinyBreakerTypeDefinition
DestinyBubbleDefinition
Basic identifying data about the bubble. Combine with DestinyDestinationBubbleSettingDefinition - see DestinyDestinationDefinition.bubbleSettings for more information.
DestinyChallengeStatus
Represents the status and other related information for a challenge that is - or was - available to a player. A challenge is a bonus objective, generally tacked onto Quests or Activities, that provide additional variations on play.
DestinyCharacterActionRequest
DestinyCharacterActivitiesComponent
This component holds activity data for a character. It will tell you about the character's current activity status, as well as activities that are available to the user.
DestinyCharacterComponent
This component contains base properties of the character. You'll probably want to always request this component, but hey you do you.
DestinyCharacterCustomization
Raw data about the customization options chosen for a character's face and appearance. You can look up the relevant class/race/gender combo in DestinyCharacterCustomizationOptionDefinition for the character, and then look up these values within the CustomizationOptions found to pull some data about their choices. Warning: not all of that data is meaningful. Some data has useful icons. Others have nothing, and are only meant for 3D rendering purposes (which we sadly do not expose yet)
DestinyCharacterPeerView
A minimal view of a character's equipped items, for the purpose of rendering a summary screen or showing the character in 3D.
DestinyCharacterProgressionComponent
This component returns anything that could be considered "Progression" on a user: data where the user is gaining levels, reputation, completions, rewards, etc...
DestinyCharacterRecordsComponent
DestinyCharacterRenderComponent
Only really useful if you're attempting to render the character's current appearance in 3D, this returns a bare minimum of information, pre-aggregated, that you'll need to perform that rendering. Note that you need to combine this with other 3D assets and data from our servers. Examine the Javascript returned by https://bungie.net/sharedbundle/spasm to see how we use this data, but be warned: the rabbit hole goes pretty deep.
DestinyCharacterResponse
The response contract for GetDestinyCharacter, with components that can be returned for character and item-level data.
DestinyCharacterResponseResponse
The response contract for GetDestinyCharacter, with components that can be returned for character and item-level data.
DestinyChecklistDefinition
By public demand, Checklists are loose sets of "things to do/things you have done" in Destiny that we were actually able to track. They include easter eggs you find in the world, unique chests you unlock, and other such data where the first time you do it is significant enough to be tracked, and you have the potential to "get them all". These may be account-wide, or may be per character. The status of these will be returned in related "Checklist" data coming down from API requests such as GetProfile or GetCharacter. Generally speaking, the items in a checklist can be completed in any order: we return an ordered list which only implies the way we are showing them in our own UI, and you can feel free to alter it as you wish. Note that, in the future, there will be something resembling the old D1 Record Books in at least some vague form. When that is created, it may be that it will supercede much or all of this Checklist data. It remains to be seen if that will be the case, so for now assume that the Checklists will still exist even after the release of D2: Forsaken.
DestinyChecklistEntryDefinition
The properties of an individual checklist item. Note that almost everything is optional: it is highly variable what kind of data we'll actually be able to return: at times we may have no other relationships to entities at all. Whatever UI you build, do it with the knowledge that any given entry might not actually be able to be associated with some other Destiny entity.
DestinyClanAggregateStat
DestinyClassDefinition
Defines a Character Class in Destiny 2. These are types of characters you can play, like Titan, Warlock, and Hunter.
DestinyCollectibleAcquisitionBlock
DestinyCollectibleComponent
DestinyCollectibleDefinition
Defines a
DestinyCollectibleNodeDetailResponse
Returns the detailed information about a Collectible Presentation Node and any Collectibles that are direct descendants.
DestinyCollectibleNodeDetailResponseResponse
Returns the detailed information about a Collectible Presentation Node and any Collectibles that are direct descendants.
DestinyCollectiblesComponent
DestinyCollectibleState
A Flags Enumeration/bitmask where each bit represents a different state that the Collectible can be in. A collectible can be in any number of these states, and you can choose to use or ignore any or all of them when making your own UI that shows Collectible info. Our displays are going to honor them, but we're also the kind of people who only pretend to inhale before quickly passing it to the left. So, you know, do what you got to do. (All joking aside, please note the caveat I mention around the Invisible flag: there are cases where it is in the best interest of your users to honor these flags even if you're a "show all the data" person. Collector-oriented compulsion is a very unfortunate and real thing, and I would hate to instill that compulsion in others through showing them items that they cannot earn. Please consider this when you are making your own apps/sites.)
DestinyCollectibleStateBlock
DestinyColor
Represents a color whose RGBA values are all represented as values between 0 and 255.
DestinyCraftableComponent
DestinyCraftablesComponent
DestinyCraftableSocketComponent
DestinyCraftableSocketPlugComponent
DestinyCurrenciesComponent
This component provides a quick lookup of every item the requested character has and how much of that item they have. Requesting this component will allow you to circumvent manually putting together the list of which currencies you have for the purpose of testing currency requirements on an item being purchased, or operations that have costs. You could figure this out yourself by doing a GetCharacter or GetProfile request and forming your own lookup table, but that is inconvenient enough that this feels like a worthwhile (and optional) redundency. Don't bother requesting it if you have already created your own lookup from prior GetCharacter/GetProfile calls.
DestinyDamageTypeDefinition
All damage types that are possible in the game are defined here, along with localized info and icons as needed.
DestinyDefinition
Provides common properties for destiny definitions.
DestinyDefinitionResponse
Provides common properties for destiny definitions.
DestinyDerivedItemCategoryDefinition
A shortcut for the fact that some items have a "Preview Vendor" - See DestinyInventoryItemDefinition.preview.previewVendorHash - that is intended to be used to show what items you can get as a result of acquiring or using this item. A common example of this in Destiny 1 was Eververse "Boxes," which could have many possible items. This "Preview Vendor" is not a vendor you can actually see in the game, but it defines categories and sale items for all of the possible items you could get from the Box so that the game can show them to you. We summarize that info here so that you don't have to do that Vendor lookup and aggregation manually.
DestinyDerivedItemDefinition
This is a reference to, and summary data for, a specific item that you can get as a result of Using or Acquiring some other Item (For example, this could be summary information for an Emote that you can get by opening an an Eververse Box) See DestinyDerivedItemCategoryDefinition for more information.
DestinyDestinationBubbleSettingDefinition
Human readable data about the bubble. Combine with DestinyBubbleDefinition - see DestinyDestinationDefinition.bubbleSettings for more information. DEPRECATED - Just use bubbles.
DestinyDestinationDefinition
On to one of the more confusing subjects of the API. What is a Destination, and what is the relationship between it, Activities, Locations, and Places? A "Destination" is a specific region/city/area of a larger "Place". For instance, a Place might be Earth where a Destination might be Bellevue, Washington. (Please, pick a more interesting destination if you come to visit Earth).
DestinyDisplayCategoryDefinition
Display Categories are different from "categories" in that these are specifically for visual grouping and display of categories in Vendor UI. The "categories" structure is for validation of the contained items, and can be categorized entirely separately from "Display Categories", there need be and often will be no meaningful relationship between the two.
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.
DestinyEnergyCapacityEntry
Items can have Energy Capacity, and plugs can provide that capacity such as on a piece of Armor in Armor 2.0. This is how much "Energy" can be spent on activating plugs for this item.
DestinyEnergyCostEntry
Some plugs cost Energy, which is a stat on the item that can be increased by other plugs (that, at least in Armor 2.0, have a "masterworks-like" mechanic for upgrading). If a plug has costs, the details of that cost are defined here.
DestinyEnergyTypeDefinition
Represents types of Energy that can be used for costs and payments related to Armor 2.0 mods.
DestinyEntitySearchResult
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.
DestinyEntitySearchResultItem
An individual Destiny Entity returned from the entity search.
DestinyEntitySearchResultResponse
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.
DestinyEnvironmentLocationMapping
DestinyEquipItemResult
The results of an Equipping operation performed through the Destiny API.
DestinyEquipItemResults
The results of a bulk Equipping operation performed through the Destiny API.
DestinyEquipItemResultsResponse
The results of a bulk Equipping operation performed through the Destiny API.
DestinyEquipmentSlotDefinition
Characters can not only have Inventory buckets (containers of items that are generally matched by their type or functionality), they can also have Equipment Slots. The Equipment Slot is an indicator that the related bucket can have instanced items equipped on the character. For instance, the Primary Weapon bucket has an Equipment Slot that determines whether you can equip primary weapons, and holds the association between its slot and the inventory bucket from which it can have items equipped. An Equipment Slot must have a related Inventory Bucket, but not all inventory buckets must have Equipment Slots.
DestinyEquippingBlockDefinition
Items that can be equipped define this block. It contains information we need to understand how and when the item can be equipped.
DestinyErrorProfile
If a Destiny Profile can't be returned, but we're pretty certain it's a valid Destiny account, this will contain as much info as we can get about the profile for your use. Assume that the most you'll get is the Error Code, the Membership Type and the Membership ID.
DestinyEventCardDefinition
Defines the properties of an 'Event Card' in Destiny 2, to coincide with a seasonal event for additional challenges, premium rewards, a new seal, and a special title. For example: Solstice of Heroes 2022.
DestinyEventCardImages
DestinyFactionDefinition
These definitions represent Factions in the game. Factions have ended up unilaterally being related to Vendors that represent them, but that need not necessarily be the case. A Faction is really just an entity that has a related progression for which a character can gain experience. In Destiny 1, Dead Orbit was an example of a Faction: there happens to be a Vendor that represents Dead Orbit (and indeed, DestinyVendorDefinition.factionHash defines to this relationship), but Dead Orbit could theoretically exist without the Vendor that provides rewards.
DestinyFactionProgression
Mostly for historical purposes, we segregate Faction progressions from other progressions. This is just a DestinyProgression with a shortcut for finding the DestinyFactionDefinition of the faction related to the progression.
DestinyFactionVendorDefinition
These definitions represent faction vendors at different points in the game. A single faction may contain multiple vendors, or the same vendor available at two different locations.
DestinyGameVersions
A flags enumeration/bitmask indicating the versions of the game that a given user has purchased.
DestinyGearArtArrangementReference
DestinyGenderDefinition
Gender is a social construct, and as such we have definitions for Genders. Right now there happens to only be two, but we'll see what the future holds.
DestinyHistoricalStatsAccountResult
DestinyHistoricalStatsAccountResultResponse
Look at the Response property for more information about the nature of this response
DestinyHistoricalStatsActivity
Summary information about the activity that was played.
DestinyHistoricalStatsByPeriod
DestinyHistoricalStatsDefinition
DestinyHistoricalStatsPerCharacter
DestinyHistoricalStatsPeriodGroup
DestinyHistoricalStatsResults
DestinyHistoricalStatsResultsResponse
Look at the Response property for more information about the nature of this response
DestinyHistoricalStatsValue
DestinyHistoricalStatsValuePair
DestinyHistoricalStatsWithMerged
DestinyHistoricalWeaponStats
DestinyHistoricalWeaponStatsData
DestinyHistoricalWeaponStatsDataResponse
Look at the Response property for more information about the nature of this response
DestinyIconSequenceDefinition
DestinyInsertPlugActionDefinition
Data related to what happens while a plug is being inserted, mostly for UI purposes.
DestinyInsertPlugsActionRequest
DestinyInsertPlugsFreeActionRequest
DestinyInsertPlugsRequestEntry
Represents all of the data related to a single plug to be inserted. Note that, while you can point to a socket that represents infusion, you will receive an error if you attempt to do so. Come on guys, let's play nice.
DestinyInventoryBucketDefinition
An Inventory (be it Character or Profile level) is comprised of many Buckets. An example of a bucket is "Primary Weapons", where all of the primary weapons on a character are gathered together into a single visual element in the UI: a subset of the inventory that has a limited number of slots, and in this case also has an associated Equipment Slot for equipping an item in the bucket. Item definitions declare what their "default" bucket is (DestinyInventoryItemDefinition.inventory.bucketTypeHash), and Item instances will tell you which bucket they are currently residing in (DestinyItemComponent.bucketHash). You can use this information along with the DestinyInventoryBucketDefinition to show these items grouped by bucket. You cannot transfer an item to a bucket that is not its Default without going through a Vendor's "accepted items" (DestinyVendorDefinition.acceptedItems). This is how transfer functionality like the Vault is implemented, as a feature of a Vendor. See the vendor's acceptedItems property for more details.
DestinyInventoryComponent
A list of minimal information for items in an inventory: be it a character's inventory, or a Profile's inventory. (Note that the Vault is a collection of inventory buckets in the Profile's inventory) Inventory Items returned here are in a flat list, but importantly they have a bucketHash property that indicates the specific inventory bucket that is holding them. These buckets constitute things like the separate sections of the Vault, the user's inventory slots, etc. See DestinyInventoryBucketDefinition for more info.
DestinyInventoryItemDefinition
So much of what you see in Destiny is actually an Item used in a new and creative way. This is the definition for Items in Destiny, which started off as just entities that could exist in your Inventory but ended up being the backing data for so much more: quests, reward previews, slots, and subclasses. In practice, you will want to associate this data with "live" item data from a Bungie.Net Platform call: these definitions describe the item in generic, non-instanced terms: but an actual instance of an item can vary widely from these generic definitions.
DestinyInventoryItemStatDefinition
Defines a specific stat value on an item, and the minimum/maximum range that we could compute for the item based on our heuristics for how the item might be generated. Not guaranteed to match real-world instances of the item, but should hopefully at least be close. If it's not close, let us know on the Bungie API forums.
DestinyItemActionBlockDefinition
If an item can have an action performed on it (like "Dismantle"), it will be defined here if you care.
DestinyItemActionRequest
DestinyItemActionRequiredItemDefinition
The definition of an item and quantity required in a character's inventory in order to perform an action.
DestinyItemCategoryDefinition
In an attempt to categorize items by type, usage, and other interesting properties, we created DestinyItemCategoryDefinition: information about types that is assembled using a set of heuristics that examine the properties of an item such as what inventory bucket it's in, its item type name, and whether it has or is missing certain blocks of data. This heuristic is imperfect, however. If you find an item miscategorized, let us know on the Bungie API forums! We then populate all of the categories that we think an item belongs to in its DestinyInventoryItemDefinition.itemCategoryHashes property. You can use that to provide your own custom item filtering, sorting, aggregating... go nuts on it! And let us know if you see more categories that you wish would be added!
DestinyItemChangeResponse
DestinyItemChangeResponseResponse
Look at the Response property for more information about the nature of this response
DestinyItemComponent
The base item component, filled with properties that are generally useful to know in any item request or that don't feel worthwhile to put in their own component.
DestinyItemCraftingBlockBonusPlugDefinition
DestinyItemCraftingBlockDefinition
If an item can have an action performed on it (like "Dismantle"), it will be defined here if you care.
DestinyItemCreationEntryLevelDefinition
An overly complicated wrapper for the item level at which the item should spawn.
DestinyItemGearsetBlockDefinition
If an item has a related gearset, this is the list of items in that set, and an unlock expression that evaluates to a number representing the progress toward gearset completion (a very rare use for unlock expressions!)
DestinyItemInstanceComponent
If an item is "instanced", this will contain information about the item's instance that doesn't fit easily into other components. One might say this is the "essential" instance data for the item. Items are instanced if they require information or state that can vary. For instance, weapons are Instanced: they are given a unique identifier, uniquely generated stats, and can have their properties altered. Non-instanced items have none of these things: for instance, Glimmer has no unique properties aside from how much of it you own. You can tell from an item's definition whether it will be instanced or not by looking at the DestinyInventoryItemDefinition's definition.inventory.isInstanceItem property.
DestinyItemInstanceEnergy
DestinyItemIntrinsicSocketEntryDefinition
Represents a socket that has a plug associated with it intrinsically. This is useful for situations where the weapon needs to have a visual plug/Mod on it, but that plug/Mod should never change.
DestinyItemInventoryBlockDefinition
If the item can exist in an inventory - the overwhelming majority of them can and do - then this is the basic properties regarding the item's relationship with the inventory.
DestinyItemInvestmentStatDefinition
Represents a "raw" investment stat, before calculated stats are calculated and before any DestinyStatGroupDefinition is applied to transform the stat into something closer to what you see in-game. Because these won't match what you see in-game, consider carefully whether you really want to use these stats. I have left them in case someone can do something useful or interesting with the pre-processed statistics.
DestinyItemMetricBlockDefinition
The metrics available for display and selection on an item.
DestinyItemObjectiveBlockDefinition
An item can have objectives on it. In practice, these are the exclusive purview of "Quest Step" items: DestinyInventoryItemDefinitions that represent a specific step in a Quest. Quest steps have 1:M objectives that we end up processing and returning in live data as DestinyQuestStatus data, and other useful information.
DestinyItemObjectivesComponent
Items can have objectives and progression. When you request this block, you will obtain information about any Objectives and progression tied to this item.
DestinyItemPeerView
Bare minimum summary information for an item, for the sake of 3D rendering the item.
DestinyItemPerkEntryDefinition
An intrinsic perk on an item, and the requirements for it to be activated.
DestinyItemPerksComponent
Instanced items can have perks: benefits that the item bestows. These are related to DestinySandboxPerkDefinition, and sometimes - but not always - have human readable info. When they do, they are the icons and text that you see in an item's tooltip. Talent Grids, Sockets, and the item itself can apply Perks, which are then summarized here for your convenience.
DestinyItemPlug
DestinyItemPlugBase
DestinyItemPlugComponent
Plugs are non-instanced items that can provide Stat and Perk benefits when socketed into an instanced item. Items have Sockets, and Plugs are inserted into Sockets. This component finds all items that are considered "Plugs" in your inventory, and return information about the plug aside from any specific Socket into which it could be inserted.
DestinyItemPlugDefinition
If an item is a Plug, its DestinyInventoryItemDefinition.plug property will be populated with an instance of one of these bad boys. This gives information about when it can be inserted, what the plug's category is (and thus whether it is compatible with a socket... see DestinySocketTypeDefinition for information about Plug Categories and socket compatibility), whether it is enabled and other Plug info.
DestinyItemPlugObjectivesComponent
DestinyItemPreviewBlockDefinition
Items like Sacks or Boxes can have items that it shows in-game when you view details that represent the items you can obtain if you use or acquire the item. This defines those categories, and gives some insights into that data's source.
DestinyItemQualityBlockDefinition
An item's "Quality" determines its calculated stats. The Level at which the item spawns is combined with its "qualityLevel" along with some additional calculations to determine the value of those stats. In Destiny 2, most items don't have default item levels and quality, making this property less useful: these apparently are almost always determined by the complex mechanisms of the Reward system rather than statically. They are still provided here in case they are still useful for people. This also contains some information about Infusion.
DestinyItemQuantity
Used in a number of Destiny contracts to return data about an item stack and its quantity. Can optionally return an itemInstanceId if the item is instanced - in which case, the quantity returned will be 1. If it's not... uh, let me know okay? Thanks.
DestinyItemRenderComponent
Many items can be rendered in 3D. When you request this block, you will obtain the custom data needed to render this specific instance of the item.
DestinyItemResponse
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.
DestinyItemResponseResponse
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.
DestinyItemReusablePlugsComponent
DestinyItemSackBlockDefinition
Some items are "sacks" - they can be "opened" to produce other items. This is information related to its sack status, mostly UI strings. Engrams are an example of items that are considered to be "Sacks".
DestinyItemSetActionRequest
DestinyItemSetBlockDefinition
Primarily for Quests, this is the definition of properties related to the item if it is a quest and its various quest steps.
DestinyItemSetBlockEntryDefinition
Defines a particular entry in an ItemSet (AKA a particular Quest Step in a Quest)
DestinyItemSocketBlockDefinition
If defined, the item has at least one socket.
DestinyItemSocketCategoryDefinition
Sockets are grouped into categories in the UI. These define which category and which sockets are under that category.
DestinyItemSocketEntryDefinition
The definition information for a specific socket on an item. This will determine how the socket behaves in-game.
DestinyItemSocketEntryPlugItemDefinition
The definition of a known, reusable plug that can be applied to a socket.
DestinyItemSocketEntryPlugItemRandomizedDefinition
DestinyItemSocketsComponent
Instanced items can have sockets, which are slots on the item where plugs can be inserted. Sockets are a bit complex: be sure to examine the documentation on the DestinyInventoryItemDefinition's "socket" block and elsewhere on these objects for more details.
DestinyItemSocketState
The status of a given item's socket. (which plug is inserted, if any: whether it is enabled, what "reusable" plugs can be inserted, etc...) If I had it to do over, this would probably have a DestinyItemPlug representing the inserted item instead of most of these properties. :shrug:
DestinyItemSourceBlockDefinition
Data about an item's "sources": ways that the item can be obtained.
DestinyItemSourceDefinition
Properties of a DestinyInventoryItemDefinition that store all of the information we were able to discern about how the item spawns, and where you can find the item. Items will have many of these sources, one per level at which it spawns, to try and give more granular data about where items spawn for specific level ranges.
DestinyItemStatBlockDefinition
Information about the item's calculated stats, with as much data as we can find for the stats without having an actual instance of the item. Note that this means the entire concept of providing these stats is fundamentally insufficient: we cannot predict with 100% accuracy the conditions under which an item can spawn, so we use various heuristics to attempt to simulate the conditions as accurately as possible. Actual stats for items in-game can and will vary, but these should at least be useful base points for comparison and display. It is also worth noting that some stats, like Magazine size, have further calculations performed on them by scripts in-game and on the game servers that BNet does not have access to. We cannot know how those stats are further transformed, and thus some stats will be inaccurate even on instances of items in BNet vs. how they appear in-game. This is a known limitation of our item statistics, without any planned fix.
DestinyItemStateRequest
DestinyItemStatsComponent
If you want the stats on an item's instanced data, get this component. These are stats like Attack, Defense etc... and not historical stats. Note that some stats have additional computation in-game at runtime - for instance, Magazine Size - and thus these stats might not be 100% accurate compared to what you see in-game for some stats. I know, it sucks. I hate it too.
DestinyItemSummaryBlockDefinition
This appears to be information used when rendering rewards. We don't currently use it on BNet.
DestinyItemTalentGridBlockDefinition
This defines information that can only come from a talent grid on an item. Items mostly have negligible talent grid data these days, but instanced items still retain grids as a source for some of this common information. Builds/Subclasses are the only items left that still have talent grids with meaningful Nodes.
DestinyItemTalentGridComponent
Well, we're here in Destiny 2, and Talent Grids are unfortunately still around. The good news is that they're pretty much only being used for certain base information on items and for Builds/Subclasses. The bad news is that they still suck. If you really want this information, grab this component. An important note is that talent grids are defined as such: A Grid has 1:M Nodes, which has 1:M Steps. Any given node can only have a single step active at one time, which represents the actual visual contents and effects of the Node (for instance, if you see a "Super Cool Bonus" node, the actual icon and text for the node is coming from the current Step of that node). Nodes can be grouped into exclusivity sets and as of D2, exclusivity groups (which are collections of exclusivity sets that affect each other). See DestinyTalentGridDefinition for more information. Brace yourself, the water's cold out there in the deep end.
DestinyItemTierTypeDefinition
Defines the tier type of an item. Mostly this provides human readable properties for types like Common, Rare, etc... It also provides some base data for infusion that could be useful.
DestinyItemTierTypeInfusionBlock
DestinyItemTooltipNotification
DestinyItemTransferRequest
DestinyItemTranslationBlockDefinition
This Block defines the rendering data associated with the item, if any.
DestinyItemValueBlockDefinition
This defines an item's "Value". Unfortunately, this appears to be used in different ways depending on the way that the item itself is used. For items being sold at a Vendor, this is the default "sale price" of the item. These days, the vendor itself almost always sets the price, but it still possible for the price to fall back to this value. For quests, it is a preview of rewards you can gain by completing the quest. For dummy items, if the itemValue refers to an Emblem, it is the emblem that should be shown as the reward. (jeez louise) It will likely be used in a number of other ways in the future, it appears to be a bucket where they put arbitrary items and quantities into the item.
DestinyItemVendorSourceReference
Represents that a vendor could sell this item, and provides a quick link to that vendor and sale item. Note that we do not and cannot make a guarantee that the vendor will ever actually sell this item, only that the Vendor has a definition that indicates it could be sold. Note also that a vendor may sell the same item in multiple "ways", which means there may be multiple vendorItemIndexes for a single Vendor hash.
DestinyItemVersionDefinition
The version definition currently just holds a reference to the power cap.
DestinyJoinClosedReasons
A Flags enumeration representing the reasons why a person can't join this user's fireteam.
DestinyKioskItem
DestinyKiosksComponent
A Kiosk is a Vendor (DestinyVendorDefinition) that sells items based on whether you have already acquired that item before. This component returns information about what Kiosk items are available to you on a Profile level. It is theoretically possible for Kiosks to have items gated by specific Character as well. If you ever have those, you will find them on the individual character's DestinyCharacterKiosksComponent. Note that, because this component returns vendorItemIndexes (that is to say, indexes into the Kiosk Vendor's itemList property), these results are necessarily content version dependent. Make sure that you have the latest version of the content manifest databases before using this data.
DestinyLeaderboard
DestinyLeaderboardEntry
DestinyLeaderboardResults
DestinyLeaderboardResultsResponse
Look at the Response property for more information about the nature of this response
DestinyLinkedGraphDefinition
This describes links between the current graph and others, as well as when that link is relevant.
DestinyLinkedGraphEntryDefinition
DestinyLinkedProfilesResponse
I know what you seek. You seek linked accounts. Found them, you have. 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
DestinyLinkedProfilesResponseResponse
I know what you seek. You seek linked accounts. Found them, you have. 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
DestinyLocationDefinition
A "Location" is a sort of shortcut for referring to a specific combination of Activity, Destination, Place, and even Bubble or NavPoint within a space. Most of this data isn't intrinsically useful to us, but Objectives refer to locations, and through that we can at least infer the Activity, Destination, and Place being referred to by the Objective.
DestinyLocationReleaseDefinition
A specific "spot" referred to by a location. Only one of these can be active at a time for a given Location.
DestinyLoreDefinition
These are definitions for in-game "Lore," meant to be narrative enhancements of the game experience. DestinyInventoryItemDefinitions for interesting items point to these definitions, but nothing's stopping you from scraping all of these and doing something cool with them. If they end up having cool data.
DestinyManifest
DestinyManifest is the external-facing contract for just the properties needed by those calling the Destiny Platform.
DestinyManifestResponse
DestinyManifest is the external-facing contract for just the properties needed by those calling the Destiny Platform.
DestinyMaterialRequirement
Many actions relating to items require you to expend materials: - Activating a talent node - Inserting a plug into a socket The items will refer to material requirements by a materialRequirementsHash in these cases, and this is the definition for those requirements in terms of the item required, how much of it is required and other interesting info. This is one of the rare/strange times where a single contract class is used both in definitions and in live data response contracts. I'm not sure yet whether I regret that.
DestinyMaterialRequirementSetDefinition
Represent a set of material requirements: Items that either need to be owned or need to be consumed in order to perform an action. A variety of other entities refer to these as gatekeepers and payments for actions that can be performed in game.
DestinyMedalTierDefinition
An artificial construct of our own creation, to try and put some order on top of Medals and keep them from being one giant, unmanageable and unsorted blob of stats. Unfortunately, we haven't had time to do this evaluation yet in Destiny 2, so we're short on Medal Tiers. This will hopefully be updated over time, if Medals continue to exist.
DestinyMetricComponent
DestinyMetricDefinition
DestinyMetricsComponent
DestinyMilestone
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.
DestinyMilestoneActivity
Sometimes, we know the specific activity that the Milestone wants you to play. This entity provides additional information about that Activity and all of its variants. (sometimes there's only one variant, but I think you get the point)
DestinyMilestoneActivityCompletionStatus
Represents this player's personal completion status for the Activity under a Milestone, if the activity has trackable completion and progress information. (most activities won't, or the concept won't apply. For instance, it makes sense to talk about a tier of a raid as being Completed or having progress, but it doesn't make sense to talk about a Crucible Playlist in those terms.
DestinyMilestoneActivityDefinition
Milestones can have associated activities which provide additional information about the context, challenges, modifiers, state etc... related to this Milestone. Information we need to be able to return that data is defined here, along with Tier data to establish a relationship between a conceptual Activity and its difficulty levels and variants.
DestinyMilestoneActivityPhase
Represents whatever information we can return about an explicit phase in an activity. In the future, I hope we'll have more than just "guh, you done gone and did something," but for the forseeable future that's all we've got. I'm making it more than just a list of booleans out of that overly-optimistic hope.
DestinyMilestoneActivityVariant
Represents custom data that we know about an individual variant of an activity.
DestinyMilestoneActivityVariantDefinition
Represents a variant on an activity for a Milestone: a specific difficulty tier, or a specific activity variant for example. These will often have more specific details, such as an associated Guided Game, progression steps, tier-specific rewards, and custom values.
DestinyMilestoneChallengeActivity
DestinyMilestoneChallengeActivityDefinition
DestinyMilestoneChallengeActivityGraphNodeEntry
DestinyMilestoneChallengeActivityPhase
DestinyMilestoneChallengeDefinition
DestinyMilestoneContent
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.
DestinyMilestoneContentItemCategory
Part of our dynamic, localized Milestone content is arbitrary categories of items. These are built in our content management system, and thus aren't the same as programmatically generated rewards.
DestinyMilestoneContentResponse
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.
DestinyMilestoneDefinition
Milestones are an in-game concept where they're attempting to tell you what you can do next in-game. If that sounds a lot like Advisors in Destiny 1, it is! So we threw out Advisors in the Destiny 2 API and tacked all of the data we would have put on Advisors onto Milestones instead. Each Milestone represents something going on in the game right now:
DestinyMilestoneQuest
If a Milestone has one or more Quests, this will contain the live information for the character's status with one of those quests.
DestinyMilestoneQuestDefinition
Any data we need to figure out whether this Quest Item is the currently active one for the conceptual Milestone. Even just typing this description, I already regret it.
DestinyMilestoneQuestRewardItem
A subclass of DestinyItemQuantity, that provides not just the item and its quantity but also information that BNet can - at some point - use internally to provide more robust runtime information about the item's qualities. If you want it, please ask! We're just out of time to wire it up right now. Or a clever person just may do it with our existing endpoints.
DestinyMilestoneQuestRewardsDefinition
If rewards are given in a quest - as opposed to overall in the entire Milestone - there's way less to track. We're going to simplify this contract as a result. However, this also gives us the opportunity to potentially put more than just item information into the reward data if we're able to mine it out in the future. Remember this if you come back and ask "why are quest reward items nested inside of their own class?"
DestinyMilestoneResponse
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.
DestinyMilestoneRewardCategory
Represents a category of "summary" rewards that can be earned for the Milestone regardless of specific quest rewards that can be earned.
DestinyMilestoneRewardCategoryDefinition
The definition of a category of rewards, that contains many individual rewards.
DestinyMilestoneRewardEntry
The character-specific data for a milestone's reward entry. See DestinyMilestoneDefinition for more information about Reward Entries.
DestinyMilestoneRewardEntryDefinition
The definition of a specific reward, which may be contained in a category of rewards and that has optional information about how it is obtained.
DestinyMilestoneValueDefinition
The definition for information related to a key/value pair that is relevant for a particular Milestone or component within the Milestone. This lets us more flexibly pass up information that's useful to someone, even if it's not necessarily us.
DestinyMilestoneVendor
If a Milestone has one or more Vendors that are relevant to it, this will contain information about that vendor that you can choose to show.
DestinyMilestoneVendorDefinition
If the Milestone or a component has vendors whose inventories could/should be displayed that are relevant to it, this will return the vendor in question. It also contains information we need to determine whether that vendor is actually relevant at the moment, given the user's current state.
DestinyNodeActivationRequirement
Talent nodes have requirements that must be met before they can be activated. This describes the material costs, the Level of the Talent Grid's progression required, and other conditional information that limits whether a talent node can be activated.
DestinyNodeSocketReplaceResponse
This is a bit of an odd duck. Apparently, if talent nodes steps have this data, the game will go through on step activation and alter the first Socket it finds on the item that has a type matching the given socket type, inserting the indicated plug item.
DestinyNodeStepDefinition
This defines the properties of a "Talent Node Step". When you see a talent node in game, the actual visible properties that you see (its icon, description, the perks and stats it provides) are not provided by the Node itself, but rather by the currently active Step on the node. When a Talent Node is activated, the currently active step's benefits are conferred upon the item and character. The currently active step on talent nodes are determined when an item is first instantiated. Sometimes it is random, sometimes it is more deterministic (particularly when a node has only a single step). Note that, when dealing with Talent Node Steps, you must ensure that you have the latest version of content. stepIndex and nodeStepHash - two ways of identifying the step within a node - are both content version dependent, and thus are subject to change between content updates.
DestinyObjectiveDefinition
Defines an "Objective". An objective is a specific task you should accomplish in the game. These are referred to by:
DestinyObjectiveDisplayProperties
DestinyObjectivePerkEntryDefinition
Defines the conditions under which an intrinsic perk is applied while participating in an Objective. These perks will generally not be benefit-granting perks, but rather a perk that modifies gameplay in some interesting way.
DestinyObjectiveProgress
Returns data about a character's status with a given Objective. Combine with DestinyObjectiveDefinition static data for display purposes.
DestinyObjectiveStatEntryDefinition
Defines the conditions under which stat modifications will be applied to a Character while participating in an objective.
DestinyParentItemOverride
DestinyPartyMemberStates
A flags enumeration that represents a Fireteam Member's status.
DestinyPerkReference
The list of perks to display in an item tooltip - and whether or not they have been activated. Perks apply a variety of effects to a character, and are generally either intrinsic to the item or provided in activated talent nodes or sockets.
DestinyPlaceDefinition
Okay, so Activities (DestinyActivityDefinition) take place in Destinations (DestinyDestinationDefinition). Destinations are part of larger locations known as Places (you're reading its documentation right now). Places are more on the planetary scale, like "Earth" and "Your Mom."
DestinyPlatformSilverComponent
DestinyPlayer
DestinyPlugItemCraftingRequirements
DestinyPlugItemCraftingUnlockRequirement
DestinyPlugRuleDefinition
Dictates a rule around whether the plug is enabled or insertable. In practice, the live Destiny data will refer to these entries by index. You can then look up that index in the appropriate property (enabledRules or insertionRules) to get the localized string for the failure message if it failed.
DestinyPlugSetDefinition
Sometimes, we have large sets of reusable plugs that are defined identically and thus can (and in some cases, are so large that they must) be shared across the places where they are used. These are the definitions for those reusable sets of plugs. See DestinyItemSocketEntryDefinition.plugSource and reusablePlugSetHash for the relationship between these reusable plug sets and the sockets that leverage them (for starters, Emotes). As of the release of Shadowkeep (Late 2019), these will begin to be sourced from game content directly - which means there will be many more of them, but it also means we may not get all data that we used to get for them. DisplayProperties, in particular, will no longer be guaranteed to contain valid information. We will make a best effort to guess what ought to be populated there where possible, but it will be invalid for many/most plug sets.
DestinyPlugSetsComponent
Sockets may refer to a "Plug Set": a set of reusable plugs that may be shared across multiple sockets (or even, in theory, multiple sockets over multiple items). This is the set of those plugs that we came across in the users' inventory, along with the values for plugs in the set. Any given set in this component may be represented in Character and Profile-level, as some plugs may be Profile-level restricted, and some character-level restricted. (note that the ones that are even more specific will remain on the actual socket component itself, as they cannot be reused)
DestinyPlugWhitelistEntryDefinition
Defines a plug "Category" that is allowed to be plugged into a socket of this type. This should be compared against a given plug item's DestinyInventoryItemDefinition.plug.plugCategoryHash, which indicates the plug item's category.
DestinyPositionDefinition
DestinyPostGameCarnageReportData
DestinyPostGameCarnageReportDataResponse
Look at the Response property for more information about the nature of this response
DestinyPostGameCarnageReportEntry
DestinyPostGameCarnageReportExtendedData
DestinyPostGameCarnageReportTeamEntry
DestinyPostmasterTransferRequest
DestinyPowerCapDefinition
Defines a 'power cap' (limit) for gear items, based on the rarity tier and season of release.
DestinyPresentationChildBlock
DestinyPresentationNodeBaseDefinition
This is the base class for all presentation system children. Presentation Nodes, Records, Collectibles, and Metrics.
DestinyPresentationNodeChildEntry
DestinyPresentationNodeChildEntryBase
DestinyPresentationNodeChildrenBlock
As/if presentation nodes begin to host more entities as children, these lists will be added to. One list property exists per type of entity that can be treated as a child of this presentation node, and each holds the identifier of the entity and any associated information needed to display the UI for that entity (if anything)
DestinyPresentationNodeCollectibleChildEntry
DestinyPresentationNodeComponent
DestinyPresentationNodeCraftableChildEntry
DestinyPresentationNodeDefinition
A PresentationNode is an entity that represents a logical grouping of other entities visually/organizationally. For now, Presentation Nodes may contain the following... but it may be used for more in the future:
DestinyPresentationNodeMetricChildEntry
DestinyPresentationNodeRecordChildEntry
DestinyPresentationNodeRequirementsBlock
Presentation nodes can be restricted by various requirements. This defines the rules of those requirements, and the message(s) to be shown if these requirements aren't met.
DestinyPresentationNodesComponent
DestinyPresentationNodeState
I know this doesn't look like a Flags Enumeration/bitmask right now, but I assure you it is. This is the possible states that a Presentation Node can be in, and it is almost certain that its potential states will increase in the future. So don't treat it like a straight up enumeration.
DestinyProfileCollectiblesComponent
DestinyProfileComponent
The most essential summary information about a Profile (in Destiny 1, we called these "Accounts").
DestinyProfileProgressionComponent
The set of progression-related information that applies at a Profile-wide level for your Destiny experience. This differs from the Jimi Hendrix Experience because there's less guitars on fire. Yet. #spoileralert? This will include information such as Checklist info.
DestinyProfileRecordsComponent
DestinyProfileResponse
The response for GetDestinyProfile, with components for character and item-level data.
DestinyProfileResponseResponse
The response for GetDestinyProfile, with components for character and item-level data.
DestinyProfileTransitoryComponent
This is an experimental set of data that Bungie considers to be "transitory" - information that may be useful for API users, but that is coming from a non-authoritative data source about information that could potentially change at a more frequent pace than Bungie.net will receive updates about it. This information is provided exclusively for convenience should any of it be useful to users: we provide no guarantees to the accuracy or timeliness of data that comes from this source. Know that this data can potentially be out-of-date or even wrong entirely if the user disconnected from the game or suddenly changed their status before we can receive refreshed data.
DestinyProfileTransitoryCurrentActivity
If you are playing in an activity, this is some information about it. Note that we cannot guarantee any of this resembles what ends up in the PGCR in any way. They are sourced by two entirely separate systems with their own logic, and the one we source this data from should be considered non-authoritative in comparison.
DestinyProfileTransitoryJoinability
Some basic information about whether you can be joined, how many slots are left etc. Note that this can change quickly, so it may not actually be useful. But perhaps it will be in some use cases?
DestinyProfileTransitoryPartyMember
This is some bare minimum information about a party member in a Fireteam. Unfortunately, without great computational expense on our side we can only get at the data contained here. I'd like to give you a character ID for example, but we don't have it. But we do have these three pieces of information. May they help you on your quest to show meaningful data about current Fireteams. Notably, we don't and can't feasibly return info on characters. If you can, try to use just the data below for your UI and purposes. Only hit us with further queries if you absolutely must know the character ID of the currently playing character. Pretty please with sugar on top.
DestinyProfileTransitoryTrackingEntry
This represents a single "thing" being tracked by the player. This can point to many types of entities, but only a subset of them will actually have a valid hash identifier for whatever it is being pointed to. It's up to you to interpret what it means when various combinations of these entries have values being tracked.
DestinyProfileUserInfoCard
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.
DestinyProgressionDefinition
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.
DestinyProgressionDisplayPropertiesDefinition
DestinyProgressionLevelRequirementDefinition
These are pre-constructed collections of data that can be used to determine the Level Requirement for an item given a Progression to be tested (such as the Character's level). For instance, say a character receives a new Auto Rifle, and that Auto Rifle's DestinyInventoryItemDefinition.quality.progressionLevelRequirementHash property is pointing at one of these DestinyProgressionLevelRequirementDefinitions. Let's pretend also that the progressionHash it is pointing at is the Character Level progression. In that situation, the character's level will be used to interpolate a value in the requirementCurve property. The value picked up from that interpolation will be the required level for the item.
DestinyProgressionMappingDefinition
Aggregations of multiple progressions. These are used to apply rewards to multiple progressions at once. They can sometimes have human readable data as well, but only extremely sporadically.
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.
DestinyProgressionRewardDefinition
Inventory Items can reward progression when actions are performed on them. A common example of this in Destiny 1 was Bounties, which would reward Experience on your Character and the like when you completed the bounty. Note that this maps to a DestinyProgressionMappingDefinition, and not a DestinyProgressionDefinition directly. This is apparently so that multiple progressions can be granted progression points/experience at the same time.
DestinyProgressionRewardItemQuantity
DestinyProgressionRewardItemState
Represents the different states a progression reward item can be in.
DestinyProgressionStepDefinition
This defines a single Step in a progression (which roughly equates to a level. See DestinyProgressionDefinition for caveats).
DestinyPublicActivityStatus
Represents the public-facing status of an activity: any data about what is currently active in the Activity, regardless of an individual character's progress in it.
DestinyPublicMilestone
Information about milestones, presented in a character state-agnostic manner. Combine this data with DestinyMilestoneDefinition to get a full picture of the milestone, which is basically a checklist of things to do in the game. Think of this as GetPublicAdvisors 3.0, for those who used the Destiny 1 API.
DestinyPublicMilestoneActivity
A milestone may have one or more conceptual Activities associated with it, and each of those conceptual activities could have a variety of variants, modes, tiers, what-have-you. Our attempts to determine what qualifies as a conceptual activity are, unfortunately, janky. So if you see missing modes or modes that don't seem appropriate to you, let us know and I'll buy you a beer if we ever meet up in person.
DestinyPublicMilestoneActivityVariant
Represents a variant of an activity that's relevant to a milestone.
DestinyPublicMilestoneChallenge
A Milestone can have many Challenges. Challenges are just extra Objectives that provide a fun way to mix-up play and provide extra rewards.
DestinyPublicMilestoneChallengeActivity
DestinyPublicMilestoneQuest
DestinyPublicMilestoneVendor
DestinyPublicVendorComponent
This component contains essential/summary information about the vendor from the perspective of a character-agnostic view.
DestinyPublicVendorSaleItemComponent
Has character-agnostic information about an item being sold by a vendor. Note that if you want instance, stats, etc... data for the item, you'll have to request additional components such as ItemInstances, ItemPerks etc... and acquire them from the DestinyVendorResponse's "items" property. For most of these, however, you'll have to ask for it in context of a specific character.
DestinyPublicVendorsResponse
A response containing all valid components for the public Vendors endpoint. It is a decisively smaller subset of data compared to what we can get when we know the specific user making the request. 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.
DestinyPublicVendorsResponseResponse
A response containing all valid components for the public Vendors endpoint. It is a decisively smaller subset of data compared to what we can get when we know the specific user making the request. 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.
DestinyQuestStatus
Data regarding the progress of a Quest for a specific character. Quests are composed of multiple steps, each with potentially multiple objectives: this QuestStatus will return Objective data for the currently active step in this quest.
DestinyRaceDefinition
In Destiny, "Races" are really more like "Species". Sort of. I mean, are the Awoken a separate species from humans? I'm not sure. But either way, they're defined here. You'll see Exo, Awoken, and Human as examples of these Species. Players will choose one for their character.
DestinyRecordCompletionBlock
DestinyRecordComponent
DestinyRecordDefinition
DestinyRecordExpirationBlock
If this record has an expiration after which it cannot be earned, this is some information about that expiration.
DestinyRecordIntervalBlock
DestinyRecordIntervalObjective
DestinyRecordIntervalRewards
DestinyRecordsComponent
DestinyRecordState
A Flags enumeration/bitmask where each bit represents a possible state that a Record/Triumph can be in.
DestinyRecordTitleBlock
DestinyReportOffensePgcrRequest
If you want to report a player causing trouble in a game, this request will let you report that player and the specific PGCR in which the trouble was caused, along with why. Please don't do this just because you dislike the person! I mean, I know people will do it anyways, but can you like take a good walk, or put a curse on them or something? Do me a solid and reconsider. Note that this request object doesn't have the actual PGCR ID nor your Account/Character ID in it. We will infer that information from your authentication information and the PGCR ID that you pass into the URL of the reporting endpoint itself.
DestinyReportReasonCategoryDefinition
If you're going to report someone for a Terms of Service violation, you need to choose a category and reason for the report. This definition holds both the categories and the reasons within those categories, for simplicity and my own laziness' sake. Note tha this means that, to refer to a Reason by reasonHash, you need a combination of the reasonHash and the associated ReasonCategory's hash: there are some reasons defined under multiple categories.
DestinyReportReasonDefinition
A specific reason for being banned. Only accessible under the related category (DestinyReportReasonCategoryDefinition) under which it is shown. Note that this means that report reasons' reasonHash are not globally unique: and indeed, entries like "Other" are defined under most categories for example.
DestinyRewardSourceDefinition
Represents a heuristically-determined "item source" according to Bungie.net. These item sources are non-canonical: we apply a combination of special configuration and often-fragile heuristics to attempt to discern whether an item should be part of a given "source," but we have known cases of false positives and negatives due to our imperfect heuristics. Still, they provide a decent approximation for people trying to figure out how an item can be obtained. DestinyInventoryItemDefinition refers to sources in the sourceDatas.sourceHashes property for all sources we determined the item could spawn from. An example in Destiny 1 of a Source would be "Nightfall". If an item has the "Nightfall" source associated with it, it's extremely likely that you can earn that item while playing Nightfall, either during play or as an after-completion reward.
DestinySandboxPatternDefinition
DestinySandboxPerkDefinition
Perks are modifiers to a character or item that can be applied situationally.
DestinyScoredPresentationNodeBaseDefinition
DestinySeasonDefinition
Defines a canonical "Season" of Destiny: a range of a few months where the game highlights certain challenges, provides new loot, has new Clan-related rewards and celebrates various seasonal events.
DestinySeasonPassDefinition
DestinySeasonPreviewDefinition
Defines the promotional text, images, and links to preview this season.
DestinySeasonPreviewImageDefinition
Defines the thumbnail icon, high-res image, and video link for promotional images
DestinySocketCategoryDefinition
Sockets on an item are organized into Categories visually. You can find references to the socket category defined on an item's DestinyInventoryItemDefinition.sockets.socketCategories property. This has the display information for rendering the categories' header, and a hint for how the UI should handle showing this category. The shitty thing about this, however, is that the socket categories' UI style can be overridden by the item's UI style. For instance, the Socket Category used by Emote Sockets says it's "consumable," but that's a lie: they're all reusable, and overridden by the detail UI pages in ways that we can't easily account for in the API. As a result, I will try to compile these rules into the individual sockets on items, and provide the best hint possible there through the plugSources property. In the future, I may attempt to use this information in conjunction with the item to provide a more usable UI hint on the socket layer, but for now improving the consistency of plugSources is the best I have time to provide. (See https://github.com/Bungie-net/api/issues/522 for more info)
DestinySocketTypeDefinition
All Sockets have a "Type": a set of common properties that determine when the socket allows Plugs to be inserted, what Categories of Plugs can be inserted, and whether the socket is even visible at all given the current game/character/account state. See DestinyInventoryItemDefinition for more information about Socketed items and Plugs.
DestinySocketTypeScalarMaterialRequirementEntry
DestinyStat
Represents a stat on an item or Character (NOT a Historical Stat, but a physical attribute stat like Attack, Defense etc...)
DestinyStatDefinition
This represents a stat that's applied to a character or an item (such as a weapon, piece of armor, or a vehicle). An example of a stat might be Attack Power on a weapon. Stats go through a complex set of transformations before they end up being shown to the user as a number or a progress bar, and those transformations are fundamentally intertwined with the concept of a "Stat Group" (DestinyStatGroupDefinition). Items have both Stats and a reference to a Stat Group, and it is the Stat Group that takes the raw stat information and gives it both rendering metadata (such as whether to show it as a number or a progress bar) and the final transformation data (interpolation tables to turn the raw investment stat into a display stat). Please see DestinyStatGroupDefinition for more information on that transformational process. Stats are segregated from Stat Groups because different items and types of items can refer to the same stat, but have different "scales" for the stat while still having the same underlying value. For example, both a Shotgun and an Auto Rifle may have a "raw" impact stat of 50, but the Auto Rifle's Stat Group will scale that 50 down so that, when it is displayed, it is a smaller value relative to the shotgun. (this is a totally made up example, don't assume shotguns have naturally higher impact than auto rifles because of this) A final caveat is that some stats, even after this "final" transformation, go through yet another set of transformations directly in the game as a result of dynamic, stateful scripts that get run. BNet has no access to these scripts, nor any way to know which scripts get executed. As a result, the stats for an item that you see in-game - particularly for stats that are often impacted by Perks, like Magazine Size - can change dramatically from what we return on Bungie.Net. This is a known issue with no fix coming down the pipeline. Take these stats with a grain of salt. Stats actually go through four transformations, for those interested:
DestinyStatDisplayDefinition
Describes the way that an Item Stat (see DestinyStatDefinition) is transformed using the DestinyStatGroupDefinition related to that item. See both of the aforementioned definitions for more information about the stages of stat transformation. This represents the transformation of a stat into a "Display" stat (the closest value that BNet can get to the in-game display value of the stat)
DestinyStatGroupDefinition
When an inventory item (DestinyInventoryItemDefinition) has Stats (such as Attack Power), the item will refer to a Stat Group. This definition enumerates the properties used to transform the item's "Investment" stats into "Display" stats. See DestinyStatDefinition's documentation for information about the transformation of Stats, and the meaning of an Investment vs. a Display stat. If you don't want to do these calculations on your own, fear not: pulling live data from the BNet endpoints will return display stat values pre-computed and ready for you to use. I highly recommend this approach, saves a lot of time and also accounts for certain stat modifiers that can't easily be accounted for without live data (such as stat modifiers on Talent Grids and Socket Plugs)
DestinyStatOverrideDefinition
Stat Groups (DestinyStatGroupDefinition) has the ability to override the localized text associated with stats that are to be shown on the items with which they are associated. This defines a specific overridden stat. You could theoretically check these before rendering your stat UI, and for each stat that has an override show these displayProperties instead of those on the DestinyStatDefinition. Or you could be like us, and skip that for now because the game has yet to actually use this feature. But know that it's here, waiting for a resilliant young designer to take up the mantle and make us all look foolish by showing the wrong name for stats. Note that, if this gets used, the override will apply only to items using the overriding Stat Group. Other items will still show the default stat's name/description.
DestinyStringVariablesComponent
DestinyTalentExclusiveGroup
As of Destiny 2, nodes can exist as part of "Exclusive Groups". These differ from exclusive sets in that, within the group, many nodes can be activated. But the act of activating any node in the group will cause "opposing" nodes (nodes in groups that are not allowed to be activated at the same time as this group) to deactivate.
DestinyTalentGridDefinition
The time has unfortunately come to talk about Talent Grids. Talent Grids are the most complex and unintuitive part of the Destiny Definition data. Grab a cup of coffee before we begin, I can wait. Talent Grids were the primary way that items could be customized in Destiny 1. In Destiny 2, for now, talent grids have become exclusively used by Subclass/Build items: but the system is still in place for it to be used by items should the direction change back toward talent grids. Talent Grids have Nodes: the visual circles on the talent grid detail screen that have icons and can be activated if you meet certain requirements and pay costs. The actual visual data and effects, however, are driven by the "Steps" on Talent Nodes. Any given node will have 1:M of these steps, and the specific step that will be considered the "current" step (and thus the dictator of all benefits, visual state, and activation requirements on the Node) will almost always not be determined until an instance of the item is created. This is how, in Destiny 1, items were able to have such a wide variety of what users saw as "Perks": they were actually Talent Grids with nodes that had a wide variety of Steps, randomly chosen at the time of item creation. Now that Talent Grids are used exclusively by subclasses and builds, all of the properties within still apply: but there are additional visual elements on the Subclass/Build screens that are superimposed on top of the talent nodes. Unfortunately, BNet doesn't have this data: if you want to build a subclass screen, you will have to provide your own "decorative" assets, such as the visual connectors between nodes and the fancy colored-fire-bathed character standing behind the nodes. DestinyInventoryItem.talentGrid.talentGridHash defines an item's linked Talent Grid, which brings you to this definition that contains enough satic data about talent grids to make your head spin. These must be combined with instanced data - found when live data returns DestinyItemTalentGridComponent - in order to derive meaning. The instanced data will reference nodes and steps within these definitions, which you will then have to look up in the definition and combine with the instanced data to give the user the visual representation of their item's talent grid.
DestinyTalentNode
I see you've come to find out more about Talent Nodes. I'm so sorry. Talent Nodes are the conceptual, visual nodes that appear on Talent Grids. Talent Grids, in Destiny 1, were found on almost every instanced item: they had Nodes that could be activated to change the properties of the item. In Destiny 2, Talent Grids only exist for Builds/Subclasses, and while the basic concept is the same (Nodes can be activated once you've gained sufficient Experience on the Item, and provide effects), there are some new concepts from Destiny 1. Examine DestinyTalentGridDefinition and its subordinates for more information. This is the "Live" information for the current status of a Talent Node on a specific item. Talent Nodes have many Steps, but only one can be active at any one time: and it is the Step that determines both the visual and the game state-changing properties that the Node provides. Examine this and DestinyTalentNodeStepDefinition carefully. IMPORTANT NOTE Talent Nodes are, unfortunately, Content Version DEPENDENT. Though they refer to hashes for Nodes and Steps, those hashes are not guaranteed to be immutable across content versions. This is a source of great exasperation for me, but as a result anyone using Talent Grid data must ensure that the content version of their static content matches that of the server responses before showing or making decisions based on talent grid data.
DestinyTalentNodeCategory
An artificial construct provided by Bungie.Net, where we attempt to group talent nodes by functionality. This is a single set of references to Talent Nodes that share a common trait or purpose.
DestinyTalentNodeDefinition
Talent Grids on items have Nodes. These nodes have positions in the talent grid's UI, and contain "Steps" (DestinyTalentNodeStepDefinition), one of whom will be the "Current" step. The Current Step determines the visual properties of the node, as well as what the node grants when it is activated. See DestinyTalentGridDefinition for a more complete overview of how Talent Grids work, and how they are used in Destiny 2 (and how they were used in Destiny 1).
DestinyTalentNodeExclusiveSetDefinition
The list of indexes into the Talent Grid's "nodes" property for nodes in this exclusive set. (See DestinyTalentNodeDefinition.nodeIndex)
DestinyTalentNodeStatBlock
This property has some history. A talent grid can provide stats on both the item it's related to and the character equipping the item. This returns data about those stat bonuses.
DestinyTalentNodeStepDamageTypes
DestinyTalentNodeStepGroups
These properties are an attempt to categorize talent node steps by certain common properties. See the related enumerations for the type of properties being categorized.
DestinyTalentNodeStepGuardianAttributes
DestinyTalentNodeStepImpactEffects
DestinyTalentNodeStepLightAbilities
DestinyTalentNodeStepWeaponPerformances
DestinyTraitCategoryDefinition
DestinyTraitDefinition
DestinyUnlockDefinition
Unlock Flags are small bits (literally, a bit, as in a boolean value) that the game server uses for an extremely wide range of state checks, progress storage, and other interesting tidbits of information.
DestinyUnlockExpressionDefinition
Where the sausage gets made. Unlock Expressions are the foundation of the game's gating mechanics and investment-related restrictions. They can test Unlock Flags and Unlock Values for certain states, using a sufficient amount of logical operators such that unlock expressions are effectively Turing complete. Use UnlockExpressionParser to evaluate expressions using an IUnlockContext parsed from Babel.
DestinyUnlockStatus
Indicates the status of an "Unlock Flag" on a Character or Profile. These are individual bits of state that can be either set or not set, and sometimes provide interesting human-readable information in their related DestinyUnlockDefinition.
DestinyUnlockValueDefinition
An Unlock Value is an internal integer value, stored on the server and used in a variety of ways, most frequently for the gating/requirement checks that the game performs across all of its main features. They can also be used as the storage data for mapped Progressions, Objectives, and other features that require storage of variable numeric values.
DestinyVendorAcceptedItemDefinition
If you ever wondered how the Vault works, here it is. The Vault is merely a set of inventory buckets that exist on your Profile/Account level. When you transfer items in the Vault, the game is using the Vault Vendor's DestinyVendorAcceptedItemDefinitions to see where the appropriate destination bucket is for the source bucket from whence your item is moving. If it finds such an entry, it transfers the item to the other bucket. The mechanics for Postmaster works similarly, which is also a vendor. All driven by Accepted Items.
DestinyVendorActionDefinition
If a vendor can ever end up performing actions, these are the properties that will be related to those actions. I'm not going to bother documenting this yet, as it is unused and unclear if it will ever be used... but in case it is ever populated and someone finds it useful, it is defined here.
DestinyVendorBaseComponent
This component contains essential/summary information about the vendor.
DestinyVendorCategoriesComponent
A vendor can have many categories of items that they sell. This component will return the category information for available items, as well as the index into those items in the user's sale item list. Note that, since both the category and items are indexes, this data is Content Version dependent. Be sure to check that your content is up to date before using this data. This is an unfortunate, but permanent, limitation of Vendor data.
DestinyVendorCategory
Information about the category and items currently sold in that category.
DestinyVendorCategoryEntryDefinition
This is the definition for a single Vendor Category, into which Sale Items are grouped.
DestinyVendorCategoryOverlayDefinition
The details of an overlay prompt to show to a user. They are all fairly self-explanatory localized strings that can be shown.
DestinyVendorComponent
This component contains essential/summary information about the vendor.
DestinyVendorDefinition
These are the definitions for Vendors. In Destiny, a Vendor can be a lot of things - some things that you wouldn't expect, and some things that you don't even see directly in the game. Vendors are the Dolly Levi of the Destiny universe.
DestinyVendorDisplayPropertiesDefinition
DestinyVendorGroup
Represents a specific group of vendors that can be rendered in the recommended order. How do we figure out this order? It's a long story, and will likely get more complicated over time.
DestinyVendorGroupComponent
This component returns references to all of the Vendors in the response, grouped by categorizations that Bungie has deemed to be interesting, in the order in which both the groups and the vendors within that group should be rendered.
DestinyVendorGroupDefinition
BNet attempts to group vendors into similar collections. These groups aren't technically game canonical, but they are helpful for filtering vendors or showing them organized into a clean view on a webpage or app. These definitions represent the groups we've built. Unlike in Destiny 1, a Vendors' group may change dynamically as the game state changes: thus, you will want to check DestinyVendorComponent responses to find a vendor's currently active Group (if you care). Using this will let you group your vendors in your UI in a similar manner to how we will do grouping in the Companion.
DestinyVendorGroupReference
DestinyVendorInteractionDefinition
A Vendor Interaction is a dialog shown by the vendor other than sale items or transfer screens. The vendor is showing you something, and asking you to reply to it by choosing an option or reward.
DestinyVendorInteractionReplyDefinition
When the interaction is replied to, Reward sites will fire and items potentially selected based on whether the given unlock expression is TRUE. You can potentially choose one from multiple replies when replying to an interaction: this is how you get either/or rewards from vendors.
DestinyVendorInteractionSackEntryDefinition
Compare this sackType to the sack identifier in the DestinyInventoryItemDefinition.vendorSackType property of items. If they match, show this sack with this interaction.
DestinyVendorInventoryFlyoutBucketDefinition
Information about a single inventory bucket in a vendor flyout UI and how it is shown.
DestinyVendorInventoryFlyoutDefinition
The definition for an "inventory flyout": a UI screen where we show you part of an otherwise hidden vendor inventory: like the Vault inventory buckets.
DestinyVendorItemDefinition
This represents an item being sold by the vendor.
DestinyVendorItemQuantity
In addition to item quantity information for vendor prices, this also has any optional information that may exist about how the item's quantity can be modified. (unfortunately not information that is able to be read outside of the BNet servers, but it's there)
DestinyVendorItemSocketOverride
The information for how the vendor purchase should override a given socket with custom plug data.
DestinyVendorItemState
The possible states of Destiny Profile Records. IMPORTANT: Any given item can theoretically have many of these states simultaneously: as a result, this was altered to be a flags enumeration/bitmask for v3.2.0.
DestinyVendorLocationDefinition
These definitions represent vendors' locations and relevant display information at different times in the game.
DestinyVendorReceipt
If a character purchased an item that is refundable, a Vendor Receipt will be created on the user's Destiny Profile. These expire after a configurable period of time, but until then can be used to get refunds on items. BNet does not provide the ability to refund a purchase yet, but you know.
DestinyVendorReceiptsComponent
For now, this isn't used for much: it's a record of the recent refundable purchases that the user has made. In the future, it could be used for providing refunds/buyback via the API. Wouldn't that be fun?
DestinyVendorRequirementDisplayEntryDefinition
The localized properties of the requirementsDisplay, allowing information about the requirement or item being featured to be seen.
DestinyVendorResponse
A response containing all of the components for a vendor.
DestinyVendorResponseResponse
A response containing all of the components for a vendor.
DestinyVendorSaleItemActionBlockDefinition
Not terribly useful, some basic cooldown interaction info.
DestinyVendorSaleItemBaseComponent
The base class for Vendor Sale Item data. Has a bunch of character-agnostic state about the item being sold. Note that if you want instance, stats, etc... data for the item, you'll have to request additional components such as ItemInstances, ItemPerks etc... and acquire them from the DestinyVendorResponse's "items" property.
DestinyVendorSaleItemComponent
Request this component if you want the details about an item being sold in relation to the character making the request: whether the character can buy it, whether they can afford it, and other data related to purchasing the item. Note that if you want instance, stats, etc... data for the item, you'll have to request additional components such as ItemInstances, ItemPerks etc... and acquire them from the DestinyVendorResponse's "items" property.
DestinyVendorServiceDefinition
When a vendor provides services, this is the localized name of those services.
DestinyVendorsResponse
A response containing all of the components for all requested vendors.
DestinyVendorsResponseResponse
A response containing all of the components for all requested vendors.
DyeReference
EquipFailureReason
The reasons why an item cannot be equipped, if any. Many flags can be set, or "None" if
EquippingItemBlockAttributes
GearAssetDataBaseDefinition
ImagePyramidEntry
InventoryChangedResponse
A response containing all of the components for all requested vendors.
ItemState
A flags enumeration/bitmask where each bit represents a different possible state that the item can be in that may effect how the item is displayed to the user and what actions can be performed against it.
PersonalDestinyVendorSaleItemSetComponent
PlugUiStyles
If the plug has a specific custom style, this enumeration will represent that style/those styles.
PublicDestinyVendorSaleItemSetComponent
SchemaRecordStateBlock
SocketPlugSources
Indicates how a socket is populated, and where you should look for valid plug data. This is a flags enumeration/bitmask field, as you may have to look in multiple sources across multiple components for valid plugs. For instance, a socket could have plugs that are sourced from its own definition, as well as plugs that are sourced from Character-scoped AND profile-scoped Plug Sets. Only by combining plug data for every indicated source will you be able to know all of the plugs available for a socket.
TransferStatuses
Whether you can transfer an item, and why not if you can't.
VendorItemStatus

Extensions

ActivityGraphNodeHighlightTypeExtension on ActivityGraphNodeHighlightType
AwaResponseReasonExtension on AwaResponseReason
AwaTypeExtension on AwaType
AwaUserSelectionExtension on AwaUserSelection
BucketCategoryExtension on BucketCategory
BucketScopeExtension on BucketScope
DamageTypeExtension on DamageType
DestinyActivityDifficultyTierExtension on DestinyActivityDifficultyTier
DestinyActivityModeCategoryExtension on DestinyActivityModeCategory
DestinyActivityModeTypeExtension on DestinyActivityModeType
DestinyActivityNavPointTypeExtension on DestinyActivityNavPointType
DestinyAmmunitionTypeExtension on DestinyAmmunitionType
DestinyBreakerTypeExtension on DestinyBreakerType
DestinyClassExtension on DestinyClass
DestinyComponentTypeExtension on DestinyComponentType
DestinyEnergyTypeExtension on DestinyEnergyType
DestinyGamePrivacySettingExtension on DestinyGamePrivacySetting
DestinyGatingScopeExtension on DestinyGatingScope
DestinyGenderExtension on DestinyGender
DestinyGraphNodeStateExtension on DestinyGraphNodeState
DestinyItemSortTypeExtension on DestinyItemSortType
DestinyItemSubTypeExtension on DestinyItemSubType
DestinyItemTypeExtension on DestinyItemType
DestinyMilestoneDisplayPreferenceExtension on DestinyMilestoneDisplayPreference
DestinyMilestoneTypeExtension on DestinyMilestoneType
DestinyObjectiveGrantStyleExtension on DestinyObjectiveGrantStyle
DestinyObjectiveUiStyleExtension on DestinyObjectiveUiStyle
DestinyPresentationDisplayStyleExtension on DestinyPresentationDisplayStyle
DestinyPresentationNodeTypeExtension on DestinyPresentationNodeType
DestinyPresentationScreenStyleExtension on DestinyPresentationScreenStyle
DestinyProgressionRewardItemAcquisitionBehaviorExtension on DestinyProgressionRewardItemAcquisitionBehavior
DestinyProgressionScopeExtension on DestinyProgressionScope
DestinyProgressionStepDisplayEffectExtension on DestinyProgressionStepDisplayEffect
DestinyRaceExtension on DestinyRace
DestinyRecordToastStyleExtension on DestinyRecordToastStyle
DestinyRecordValueStyleExtension on DestinyRecordValueStyle
DestinyRewardSourceCategoryExtension on DestinyRewardSourceCategory
DestinyScopeExtension on DestinyScope
DestinySocketArrayTypeExtension on DestinySocketArrayType
DestinySocketCategoryStyleExtension on DestinySocketCategoryStyle
DestinySocketVisibilityExtension on DestinySocketVisibility
DestinyStatAggregationTypeExtension on DestinyStatAggregationType
DestinyStatCategoryExtension on DestinyStatCategory
DestinyStatsCategoryTypeExtension on DestinyStatsCategoryType
DestinyStatsGroupTypeExtension on DestinyStatsGroupType
DestinyStatsMergeMethodExtension on DestinyStatsMergeMethod
DestinyTalentNodeStateExtension on DestinyTalentNodeState
DestinyUnlockValueUIStyleExtension on DestinyUnlockValueUIStyle
DestinyVendorFilterExtension on DestinyVendorFilter
DestinyVendorInteractionRewardSelectionExtension on DestinyVendorInteractionRewardSelection
DestinyVendorItemRefundPolicyExtension on DestinyVendorItemRefundPolicy
DestinyVendorProgressionTypeExtension on DestinyVendorProgressionType
DestinyVendorReplyTypeExtension on DestinyVendorReplyType
ItemBindStatusExtension on ItemBindStatus
ItemLocationExtension on ItemLocation
ItemPerkVisibilityExtension on ItemPerkVisibility
PeriodTypeExtension on PeriodType
PlugAvailabilityModeExtension on PlugAvailabilityMode
SocketTypeActionTypeExtension on SocketTypeActionType
SpecialItemTypeExtension on SpecialItemType
TierTypeExtension on TierType
UnitTypeExtension on UnitType
VendorDisplayCategorySortOrderExtension on VendorDisplayCategorySortOrder
VendorInteractionTypeExtension on VendorInteractionType

Functions

decodeActivityGraphNodeHighlightType(dynamic value) → ActivityGraphNodeHighlightType?
decodeAwaResponseReason(dynamic value) → AwaResponseReason?
decodeAwaType(dynamic value) → AwaType?
decodeAwaUserSelection(dynamic value) → AwaUserSelection?
decodeBucketCategory(dynamic value) → BucketCategory?
decodeBucketScope(dynamic value) → BucketScope?
decodeDamageType(dynamic value) → DamageType?
decodeDestinyActivityDifficultyTier(dynamic value) → DestinyActivityDifficultyTier?
decodeDestinyActivityModeCategory(dynamic value) → DestinyActivityModeCategory?
decodeDestinyActivityModeType(dynamic value) → DestinyActivityModeType?
decodeDestinyActivityNavPointType(dynamic value) → DestinyActivityNavPointType?
decodeDestinyAmmunitionType(dynamic value) → DestinyAmmunitionType?
decodeDestinyBreakerType(dynamic value) → DestinyBreakerType?
decodeDestinyClass(dynamic value) → DestinyClass?
decodeDestinyComponentType(dynamic value) → DestinyComponentType?
decodeDestinyEnergyType(dynamic value) → DestinyEnergyType?
decodeDestinyGamePrivacySetting(dynamic value) → DestinyGamePrivacySetting?
decodeDestinyGatingScope(dynamic value) → DestinyGatingScope?
decodeDestinyGender(dynamic value) → DestinyGender?
decodeDestinyGraphNodeState(dynamic value) → DestinyGraphNodeState?
decodeDestinyItemSortType(dynamic value) → DestinyItemSortType?
decodeDestinyItemSubType(dynamic value) → DestinyItemSubType?
decodeDestinyItemType(dynamic value) → DestinyItemType?
decodeDestinyMilestoneDisplayPreference(dynamic value) → DestinyMilestoneDisplayPreference?
decodeDestinyMilestoneType(dynamic value) → DestinyMilestoneType?
decodeDestinyObjectiveGrantStyle(dynamic value) → DestinyObjectiveGrantStyle?
decodeDestinyObjectiveUiStyle(dynamic value) → DestinyObjectiveUiStyle?
decodeDestinyPresentationDisplayStyle(dynamic value) → DestinyPresentationDisplayStyle?
decodeDestinyPresentationNodeType(dynamic value) → DestinyPresentationNodeType?
decodeDestinyPresentationScreenStyle(dynamic value) → DestinyPresentationScreenStyle?
decodeDestinyProgressionRewardItemAcquisitionBehavior(dynamic value) → DestinyProgressionRewardItemAcquisitionBehavior?
decodeDestinyProgressionScope(dynamic value) → DestinyProgressionScope?
decodeDestinyProgressionStepDisplayEffect(dynamic value) → DestinyProgressionStepDisplayEffect?
decodeDestinyRace(dynamic value) → DestinyRace?
decodeDestinyRecordToastStyle(dynamic value) → DestinyRecordToastStyle?
decodeDestinyRecordValueStyle(dynamic value) → DestinyRecordValueStyle?
decodeDestinyRewardSourceCategory(dynamic value) → DestinyRewardSourceCategory?
decodeDestinyScope(dynamic value) → DestinyScope?
decodeDestinySocketArrayType(dynamic value) → DestinySocketArrayType?
decodeDestinySocketCategoryStyle(dynamic value) → DestinySocketCategoryStyle?
decodeDestinySocketVisibility(dynamic value) → DestinySocketVisibility?
decodeDestinyStatAggregationType(dynamic value) → DestinyStatAggregationType?
decodeDestinyStatCategory(dynamic value) → DestinyStatCategory?
decodeDestinyStatsCategoryType(dynamic value) → DestinyStatsCategoryType?
decodeDestinyStatsGroupType(dynamic value) → DestinyStatsGroupType?
decodeDestinyStatsMergeMethod(dynamic value) → DestinyStatsMergeMethod?
decodeDestinyTalentNodeState(dynamic value) → DestinyTalentNodeState?
decodeDestinyUnlockValueUIStyle(dynamic value) → DestinyUnlockValueUIStyle?
decodeDestinyVendorFilter(dynamic value) → DestinyVendorFilter?
decodeDestinyVendorInteractionRewardSelection(dynamic value) → DestinyVendorInteractionRewardSelection?
decodeDestinyVendorItemRefundPolicy(dynamic value) → DestinyVendorItemRefundPolicy?
decodeDestinyVendorProgressionType(dynamic value) → DestinyVendorProgressionType?
decodeDestinyVendorReplyType(dynamic value) → DestinyVendorReplyType?
decodeItemBindStatus(dynamic value) → ItemBindStatus?
decodeItemLocation(dynamic value) → ItemLocation?
decodeItemPerkVisibility(dynamic value) → ItemPerkVisibility?
decodePeriodType(dynamic value) → PeriodType?
decodePlugAvailabilityMode(dynamic value) → PlugAvailabilityMode?
decodeSocketTypeActionType(dynamic value) → SocketTypeActionType?
decodeSpecialItemType(dynamic value) → SpecialItemType?
decodeTierType(dynamic value) → TierType?
decodeUnitType(dynamic value) → UnitType?
decodeVendorDisplayCategorySortOrder(dynamic value) → VendorDisplayCategorySortOrder?
decodeVendorInteractionType(dynamic value) → VendorInteractionType?
encodeActivityGraphNodeHighlightType(ActivityGraphNodeHighlightType? value) → int?
encodeAwaResponseReason(AwaResponseReason? value) → int?
encodeAwaType(AwaType? value) → int?
encodeAwaUserSelection(AwaUserSelection? value) → int?
encodeBucketCategory(BucketCategory? value) → int?
encodeBucketScope(BucketScope? value) → int?
encodeDamageType(DamageType? value) → int?
encodeDestinyActivityDifficultyTier(DestinyActivityDifficultyTier? value) → int?
encodeDestinyActivityModeCategory(DestinyActivityModeCategory? value) → int?
encodeDestinyActivityModeType(DestinyActivityModeType? value) → int?
encodeDestinyActivityNavPointType(DestinyActivityNavPointType? value) → int?
encodeDestinyAmmunitionType(DestinyAmmunitionType? value) → int?
encodeDestinyBreakerType(DestinyBreakerType? value) → int?
encodeDestinyClass(DestinyClass? value) → int?
encodeDestinyComponentType(DestinyComponentType? value) → int?
encodeDestinyEnergyType(DestinyEnergyType? value) → int?
encodeDestinyGamePrivacySetting(DestinyGamePrivacySetting? value) → int?
encodeDestinyGatingScope(DestinyGatingScope? value) → int?
encodeDestinyGender(DestinyGender? value) → int?
encodeDestinyGraphNodeState(DestinyGraphNodeState? value) → int?
encodeDestinyItemSortType(DestinyItemSortType? value) → int?
encodeDestinyItemSubType(DestinyItemSubType? value) → int?
encodeDestinyItemType(DestinyItemType? value) → int?
encodeDestinyMilestoneDisplayPreference(DestinyMilestoneDisplayPreference? value) → int?
encodeDestinyMilestoneType(DestinyMilestoneType? value) → int?
encodeDestinyObjectiveGrantStyle(DestinyObjectiveGrantStyle? value) → int?
encodeDestinyObjectiveUiStyle(DestinyObjectiveUiStyle? value) → int?
encodeDestinyPresentationDisplayStyle(DestinyPresentationDisplayStyle? value) → int?
encodeDestinyPresentationNodeType(DestinyPresentationNodeType? value) → int?
encodeDestinyPresentationScreenStyle(DestinyPresentationScreenStyle? value) → int?
encodeDestinyProgressionRewardItemAcquisitionBehavior(DestinyProgressionRewardItemAcquisitionBehavior? value) → int?
encodeDestinyProgressionScope(DestinyProgressionScope? value) → int?
encodeDestinyProgressionStepDisplayEffect(DestinyProgressionStepDisplayEffect? value) → int?
encodeDestinyRace(DestinyRace? value) → int?
encodeDestinyRecordToastStyle(DestinyRecordToastStyle? value) → int?
encodeDestinyRecordValueStyle(DestinyRecordValueStyle? value) → int?
encodeDestinyRewardSourceCategory(DestinyRewardSourceCategory? value) → int?
encodeDestinyScope(DestinyScope? value) → int?
encodeDestinySocketArrayType(DestinySocketArrayType? value) → int?
encodeDestinySocketCategoryStyle(DestinySocketCategoryStyle? value) → int?
encodeDestinySocketVisibility(DestinySocketVisibility? value) → int?
encodeDestinyStatAggregationType(DestinyStatAggregationType? value) → int?
encodeDestinyStatCategory(DestinyStatCategory? value) → int?
encodeDestinyStatsCategoryType(DestinyStatsCategoryType? value) → int?
encodeDestinyStatsGroupType(DestinyStatsGroupType? value) → int?
encodeDestinyStatsMergeMethod(DestinyStatsMergeMethod? value) → int?
encodeDestinyTalentNodeState(DestinyTalentNodeState? value) → int?
encodeDestinyUnlockValueUIStyle(DestinyUnlockValueUIStyle? value) → int?
encodeDestinyVendorFilter(DestinyVendorFilter? value) → int?
encodeDestinyVendorInteractionRewardSelection(DestinyVendorInteractionRewardSelection? value) → int?
encodeDestinyVendorItemRefundPolicy(DestinyVendorItemRefundPolicy? value) → int?
encodeDestinyVendorProgressionType(DestinyVendorProgressionType? value) → int?
encodeDestinyVendorReplyType(DestinyVendorReplyType? value) → int?
encodeItemBindStatus(ItemBindStatus? value) → int?
encodeItemLocation(ItemLocation? value) → int?
encodeItemPerkVisibility(ItemPerkVisibility? value) → int?
encodePeriodType(PeriodType? value) → int?
encodePlugAvailabilityMode(PlugAvailabilityMode? value) → int?
encodeSocketTypeActionType(SocketTypeActionType? value) → int?
encodeSpecialItemType(SpecialItemType? value) → int?
encodeTierType(TierType? value) → int?
encodeUnitType(UnitType? value) → int?
encodeVendorDisplayCategorySortOrder(VendorDisplayCategorySortOrder? value) → int?
encodeVendorInteractionType(VendorInteractionType? value) → int?