RaidHub API (1.1.1)

Download OpenAPI specification:Download

RaidHub Admin: [email protected]

The Semi-public API for RaidHub

/manifest

The RaidHub manifest provides definitions for all activities and versions in the RaidHub database.

Authorizations:
API Key

Responses

Response samples

Content type
application/json
{
  • "minted": "2019-08-24T14:15:22Z",
  • "success": true,
  • "response": {
    }
}

/status

Get the status of the RaidHub Services.

Authorizations:
API Key

Responses

Response samples

Content type
application/json
{
  • "minted": "2019-08-24T14:15:22Z",
  • "success": true,
  • "response": {
    }
}

/player/search

Search for players in the RaidHub database by Bungie name or platform display name. Players who have not attempted a raid may not appear in the search results. Results are ordered by a combination of the number of raid completions and last played date.

Authorizations:
API Key
query Parameters
count
integer [ 1 .. 50 ]
Default: 20
query
required
string [ 1 .. 40 ] characters
membershipType
integer
Default: -1
Enum: 0 1 2 3 4 5 6 -1

Filter by Destiny membership type. Defaults to -1 (all). Note that the membership type of an account is determined by the platform the was first created on

global
boolean
Default: true

Search by bungie name. Defaults to true. Set this parameter to false to search by platform display name instead

Responses

Response samples

Content type
application/json
{
  • "minted": "2019-08-24T14:15:22Z",
  • "success": true,
  • "response": {
    }
}

/player/{membershipId}/activities

Get a player's activity history. This endpoint uses date cursors to paginate through a player's activity history. The first request should not include a cursor. Subsequent requests should include the nextCursor value from the previous response. Note that the first request may not return the full number of activities requested in order to optimize performance. Subsequent requests will return the full number of activities requested.

Authorizations:
Bearer Token
path Parameters
membershipId
required
string^\d+n?$
query Parameters
count
integer [ 10 .. 5000 ]
Default: 2000
cursor
string <date-time>

Responses

Response samples

Content type
application/json
{
  • "minted": "2019-08-24T14:15:22Z",
  • "success": true,
  • "response": {
    }
}

/player/{membershipId}/basic

An extremely low-cost API call. Get basic information Bungie information about a player. The information is not guaranteed to be fully up-to-date, however, it should be accurate enough for most use cases where you only have the membershipId available.

Authorizations:
API Key
path Parameters
membershipId
required
string^\d+n?$

Responses

Response samples

Content type
application/json
{
  • "minted": "2019-08-24T14:15:22Z",
  • "success": true,
  • "response": {
    }
}

/player/{membershipId}/profile

Get a player's profile information. This includes global stats, activity stats, and world first entries. This is used to hydrate the RaidHub profile page

Authorizations:
Bearer Token
path Parameters
membershipId
required
string^\d+n?$

Responses

Response samples

Content type
application/json
{
  • "minted": "2019-08-24T14:15:22Z",
  • "success": true,
  • "response": {
    }
}

/player/{membershipId}/teammates

Get a list of a player's top 100 teammates.

Authorizations:
Bearer Token
path Parameters
membershipId
required
string^\d+n?$

Responses

Response samples

Content type
application/json
{
  • "minted": "2019-08-24T14:15:22Z",
  • "success": true,
  • "response": [
    ]
}

/player/{membershipId}/instances

Find a set of instances based on the query parameters. Some parameters will not work together, such as providing a season outside the range of the min/max season. Requires authentication.

Authorizations:
API Key
path Parameters
membershipId
required
string^\d+n?$
query Parameters
membershipIds
Array of strings <= 6 items
Default: []

A comma-separated list of up to 6 membershipIds the must be present in the instance. You do not need to include the target membershipId from the path parameter in this list.

activityId
integer > 0
versionId
integer > 0
completed
boolean
fresh
boolean
flawless
boolean
playerCount
integer > 0
minPlayerCount
integer > 0
maxPlayerCount
integer > 0
minDurationSeconds
integer or null >= 0
maxDurationSeconds
integer or null >= 0
season
integer > 0
minSeason
integer > 0
maxSeason
integer > 0
minDate
string <date-time>
maxDate
string <date-time>

Responses

Response samples

Content type
application/json
{
  • "minted": "2019-08-24T14:15:22Z",
  • "success": true,
  • "response": [
    ]
}

/activity/{instanceId}

This endpoint replaces the PGCR endpoint. It returns an object with a shape more aligned with how RaidHub displays PGCRs.

Authorizations:
API Key
path Parameters
instanceId
required
string^\d+n?$

Responses

Response samples

Content type
application/json
{
  • "minted": "2019-08-24T14:15:22Z",
  • "success": true,
  • "response": {
    }
}

/leaderboard/individual/global/{category}

Individual leaderboards across all raids

Authorizations:
API Key
path Parameters
category
required
string
Enum: "clears" "freshClears" "sherpas" "speedrun" "powerRankings"
query Parameters
count
integer [ 10 .. 100 ]
Default: 50
search
string^\d+n?$
page
integer > 0
Default: 1

Page number of leaderboard data. Ignored if search is provided. Defaults to 1

Responses

Response samples

Content type
application/json
{
  • "minted": "2019-08-24T14:15:22Z",
  • "success": true,
  • "response": {
    }
}

/leaderboard/individual/raid/{raid}/{category}

Individual leaderboards for a specific raid

Authorizations:
API Key
path Parameters
raid
required
string
category
required
string
Enum: "clears" "freshClears" "sherpas"
query Parameters
count
integer [ 10 .. 100 ]
Default: 50
search
string^\d+n?$
page
integer > 0
Default: 1

Page number of leaderboard data. Ignored if search is provided. Defaults to 1

Responses

Response samples

Content type
application/json
{
  • "minted": "2019-08-24T14:15:22Z",
  • "success": true,
  • "response": {
    }
}

/leaderboard/individual/pantheon/{version}/{category}

Individual leaderboards for a specific pantheon version

Authorizations:
API Key
path Parameters
version
required
string
category
required
string
Enum: "clears" "freshClears" "score"
query Parameters
count
integer [ 10 .. 100 ]
Default: 50
search
string^\d+n?$
page
integer > 0
Default: 1

Page number of leaderboard data. Ignored if search is provided. Defaults to 1

Responses

Response samples

Content type
application/json
{
  • "minted": "2019-08-24T14:15:22Z",
  • "success": true,
  • "response": {
    }
}

/leaderboard/team/first/{activity}/{version}

Ranking of the first 1000 completions of each activity version. Use the /contest endpoint instead to get the full rankings for the duration of the contest.

Authorizations:
API Key
path Parameters
activity
required
string
version
required
string
query Parameters
count
integer [ 10 .. 100 ]
Default: 50
search
string^\d+n?$
page
integer > 0
Default: 1

Page number of leaderboard data. Ignored if search is provided. Defaults to 1

Responses

Response samples

Content type
application/json
{
  • "minted": "2019-08-24T14:15:22Z",
  • "success": true,
  • "response": {
    }
}

/leaderboard/team/contest/{raid}

Ranking of all teams which completed the official contest version of the raid during the contest period.

Authorizations:
API Key
path Parameters
raid
required
string
query Parameters
count
integer [ 10 .. 100 ]
Default: 50
search
string^\d+n?$
page
integer > 0
Default: 1

Page number of leaderboard data. Ignored if search is provided. Defaults to 1

Responses

Response samples

Content type
application/json
{
  • "minted": "2019-08-24T14:15:22Z",
  • "success": true,
  • "response": {
    }
}

/leaderboard/clan

Get a page of the clan leaderboard based on query parameters

Authorizations:
API Key
query Parameters
count
integer [ 10 .. 100 ]
Default: 50
page
integer > 0
Default: 1
column
string
Default: "weighted_contest_score"
Enum: "clears" "average_clears" "fresh_clears" "average_fresh_clears" "sherpas" "average_sherpas" "time_played_seconds" "average_time_played_seconds" "total_contest_score" "weighted_contest_score"

Responses

Response samples

Content type
application/json
{
  • "minted": "2019-08-24T14:15:22Z",
  • "success": true,
  • "response": [
    ]
}

/pgcr/{instanceId}

Get a raw post game carnage report by instanceId. This is essentially the raw data from the Bungie API, with a few fields trimmed off. It should be a subset of the data returned by the Bungie API. Useful if you need to access PGCRs when Bungie's API is down.

Authorizations:
API Key
path Parameters
instanceId
required
string^\d+n?$

Responses

Response samples

Content type
application/json
{
  • "minted": "2019-08-24T14:15:22Z",
  • "success": true,
  • "response": {
    }
}

/clan/{groupId}

Get the stats for a clan. Data updates weekly.

Authorizations:
API Key
path Parameters
groupId
required
string^\d+n?$

Responses

Response samples

Content type
application/json
{
  • "minted": "2019-08-24T14:15:22Z",
  • "success": true,
  • "response": {
    }
}

/metrics/weapons/rolling-week

Wet the top weapons in each slot over the past 168 hours (7 days)

Authorizations:
API Key
query Parameters
sort
string
Default: "usage"
Enum: "usage" "kills"
count
integer or null [ 0 .. 100 ]
Default: 25

The number of weapons to return per slot

Responses

Response samples

Content type
application/json
{
  • "minted": "2019-08-24T14:15:22Z",
  • "success": true,
  • "response": {
    }
}

/metrics/population/rolling-day

Get the daily player population by raid

Authorizations:
API Key

Responses

Response samples

Content type
application/json
{
  • "minted": "2019-08-24T14:15:22Z",
  • "success": true,
  • "response": [
    ]
}

/admin/query

Run a query against the database

Authorizations:
Administrator Token
Request Body schema: application/json
query
required
string
type
required
string
Enum: "SELECT" "EXPLAIN"
ignoreCost
boolean
Default: false

Responses

Request samples

Content type
application/json
{
  • "query": "string",
  • "type": "SELECT",
  • "ignoreCost": false
}

Response samples

Content type
application/json
{
  • "minted": "2019-08-24T14:15:22Z",
  • "success": true,
  • "response": {
    }
}

/authorize/admin

Authorize an admin user. Requires the client secret.

Authorizations:
API Key
Request Body schema: application/json
bungieMembershipId
required
string^\d+n?$
adminClientSecret
required
string

Responses

Request samples

Content type
application/json
{
  • "bungieMembershipId": "string",
  • "adminClientSecret": "string"
}

Response samples

Content type
application/json
{
  • "minted": "2019-08-24T14:15:22Z",
  • "success": true,
  • "response": {
    }
}

/authorize/user

Authenticate a user. Grants permission to access restricted resources.

Authorizations:
API Key
Request Body schema: application/json
bungieMembershipId
required
string^\d+n?$
destinyMembershipIds
required
Array of strings
clientSecret
required
string

Responses

Request samples

Content type
application/json
{
  • "bungieMembershipId": "string",
  • "destinyMembershipIds": [
    ],
  • "clientSecret": "string"
}

Response samples

Content type
application/json
{
  • "minted": "2019-08-24T14:15:22Z",
  • "success": true,
  • "response": {
    }
}