### Example User Agent Header Source: https://www.pathofexile.com/developer/docs/index An example of a correctly formatted User Agent header for an application named 'mypoeapp'. ```text User-Agent: OAuth mypoeapp/1.0.0 (contact: mypoeapp@gmail.com) SomeOptionalThingHere ``` -------------------------------- ### PoE 2 Passive Skill Tree URL Example Source: https://www.pathofexile.com/developer/docs/reference Example of a Passive Skill Tree URL for Path of Exile 2. ```url https://pathofexile2.com/game/passive-skill-tree/AAAABwoAAAXO9AAArTcAAjpP1-wAAjpPNGMAAjpPvEYAAA== ``` -------------------------------- ### PoE 1 Passive Skill Tree URL Example Source: https://www.pathofexile.com/developer/docs/reference Example of a Passive Skill Tree URL for Path of Exile 1. ```url https://www.pathofexile.com/passive-skill-tree/3.15.0/AAAABQMADAQHES0fAiycLR9Ms18qg_eOvpLB37Dr5AA= ``` -------------------------------- ### Atlas Skill Tree URL Example (PoE 1) Source: https://www.pathofexile.com/developer/docs/reference Example of an Atlas Skill Tree URL for Path of Exile 1 (Ruthless mode). ```url https://www.pathofexile.com/atlas-skill-tree/ruthless/AAAABgAAAfdPAAA= ``` -------------------------------- ### Get PvP Match Ladder Source: https://www.pathofexile.com/developer/docs/reference Retrieves the ladder for a specific PvP match. ```APIDOC ## Get PvP Match Ladder ### Description Retrieves the ladder information for a specific PvP match. The ladder contains the top 15000 entries. ### Method GET ### Endpoint /pvp-match//ladder ### Path Parameters - **match** (string) - Required - The name of the PvP match. ### Query Parameters #### Optional Query Parameters - **realm** (string) - Optional - Can be `pc` (default), `xbox`, or `sony`. - **limit** (uint) - Optional - Restricts the amount of results returned. Default is 20. Maximum is 200. - **offset** (uint) - Optional - Used with `limit` to paginate through results. ### Returns #### Success Response (200) - **match** (PvPMatch) - The PvP match object. - **ladder** (object) - **total** (uint) - The total number of entries in the ladder. - **entries** (array of PvPLadderTeamEntry) - An array of ladder entries. ``` -------------------------------- ### Get Profile Source: https://www.pathofexile.com/developer/docs/reference Retrieves the profile information for the authenticated account. Requires the 'account:profile' scope. ```APIDOC ## GET /profile ### Description Retrieves the profile information for the authenticated account. ### Method GET ### Endpoint /profile ### Returns: #### Success Response (200) - **uuid** (string) - UUIDv4 in canonical format - **name** (string) - The user's name - **locale** (?string) - The user's locale - **twitch** (?object) - Present if the account is Twitch-linked - **name** (string) - The Twitch channel name ``` -------------------------------- ### Understanding Rate Limit Headers Source: https://www.pathofexile.com/developer/docs/index This example shows the typical response headers when a request is within the rate limits. Parse these headers to understand the current policy, rules, and state of your requests. ```http HTTP/1.1 200 OK ... X-Rate-Limit-Policy: ladder-view X-Rate-Limit-Rules: client X-Rate-Limit-Client: 10:5:10 X-Rate-Limit-Client-State: 1:5:0 ``` -------------------------------- ### Handling Rate Limit Exceeded Response Source: https://www.pathofexile.com/developer/docs/index This example demonstrates the response when a rate limit has been exceeded. The 'Retry-After' header indicates how long to wait before making another request. ```http HTTP/1.1 429 Too Many Requests ... X-Rate-Limit-Policy: ladder-view X-Rate-Limit-Rules: client X-Rate-Limit-Client: 10:5:10 X-Rate-Limit-Client-State: 11:5:10 Retry-After: 10 ``` -------------------------------- ### Get PvP Match Source: https://www.pathofexile.com/developer/docs/reference Retrieves details for a specific PvP match by its name. ```APIDOC ## Get PvP Match ### Description Retrieves details for a specific PvP match identified by its name. Returns null if the match is not found. ### Method GET ### Endpoint /pvp-match/ ### Path Parameters - **match** (string) - Required - The name of the PvP match. ### Query Parameters #### Optional Query Parameters - **realm** (string) - Optional - Can be `pc` (default), `xbox`, or `sony`. ### Returns #### Success Response (200) - **match** (?PvPMatch) - The PvP match object or null if not found. ``` -------------------------------- ### Example Build Configuration Source: https://www.pathofexile.com/developer/docs/game This JSON structure defines a complete character build, including passive tree nodes, active skills with their support gems, and inventory slot item recommendations. It utilizes custom markup for additional text fields to provide in-game guidance. ```json { "name": "Titan Warrior", "author": "Grinding Gear Games", "ascendancy": "Warrior1", "passives": [ "melee17", "melee18", "melee25", "melee44", "melee46", "marauder_brute_notable1", { "id": "strength17", "additional_text": "{{Strength +5 is recommended}}" }, { "id": "strength16", "additional_text": "{{Strength +5 is recommended}}" }, { "id": "strength89", "additional_text": "{{Strength +5 is recommended}}" }, { "id": "attributes65", "additional_text": "{{Strength +5 is recommended}}" }, "duration_spells5", "duration_spells1", "duration_spells6", "area_attacks24", "area_attacks32", "area_attacks25_", "melee19", { "id": "strength19", "additional_text": "{{Intelligence +5 is recommended}}" }, "fire10", "fire16", "fire38", { "id": "strength21", "additional_text": "{{Strength +5 is recommended}}" }, { "id": "strength15", "additional_text": "{{Strength +5 is recommended}}" }, { "id": "attributes32", "additional_text": "{{Strength +5 is recommended}}" }, "warcries19_", "warcries20", "warcries21", "slams4", "slams1", "slams5", "jewel_slot1956", { "id": "strength68", "additional_text": "{{Strength +5 is recommended}}" }, "AscendancyWarrior1Small3", "AscendancyWarrior1Notable4" ], "skills": [ { "id": "Metadata/Items/Gems/SkillGemEarthquake", "additional_text": "Intended to be taken {BEFORE} BoneShatter", "support_skills": [ "Metadata/Items/Gems/SupportGemFastForward", "Metadata/Items/Gems/SupportGemAftershock" ] }, { "id": "Metadata/Items/Gems/SkillGemBoneshatter", "additional_text": "Intended to be taken {AFTER} Earthquake", "support_skills": [ { "id": "Metadata/Items/Gems/SupportGemImpactShockwave", "additional_text": "Intended to be taken {BEFORE} Magnified Area I" }, { "id": "Metadata/Items/Gems/SupportGemMagnifiedEffect", "additional_text": "Intended to be taken {AFTER} Impact Shockwave" } ] }, { "id": "Metadata/Items/Gems/SkillGemShockwaveTotem", "additional_text": "Intended to be taken {BEFORE} Infernal Cry", "support_skills": [ "Metadata/Items/Gems/SupportGemMagnifiedEffect", "Metadata/Items/Gems/SupportGemBrutalityTwo" ] }, { "id": "Metadata/Items/Gems/SkillGemInfernalCry", "additional_text": "Intended to be taken {AFTER} Shockwave Totem", "support_skills": [ "Metadata/Items/Gem/SupportGemTireless", "Metadata/Items/Gem/SupportGemRagingCry" ] } ], "inventory_slots": [ { "inventory_id": "Weapon1", "additional_text": "{Any Two Handed Mace}\n\n{Stat Priority\n-------------------\n1. Prioritize highest physical dps}" }, { "inventory_id": "BodyArmour1", "additional_text": "" } ] } ``` -------------------------------- ### Get Character Source: https://www.pathofexile.com/developer/docs/reference Retrieves a specific character's details, including their equipment, inventory, and passive skill information. Supports multiple realms. ```APIDOC ## GET /character[/]/ ### Description Retrieves the character requested including their equipment, inventory, and passive skill information. ### Method GET ### Endpoint /character[/]/ ### Parameters #### Path Parameters - **realm** (string) - Optional - Can either be `xbox`, `sony`, or `poe2`. If omitted then the PoE1 PC realm is assumed. - **name** (string) - Required - The name of one of the account's characters. ### Response #### Success Response (200) - **character** (?) - The character object requested. ``` -------------------------------- ### Get League Source: https://www.pathofexile.com/developer/docs/reference Retrieves details for a specific league by its name. Supports filtering by realm. ```APIDOC ## Get League ### Description Retrieves a specific league object by its name. ### Method GET ### Endpoint /league/ ### Path Parameters - `league` (string) - Required - The name of the league to retrieve. ### Query Parameters - `realm` (string) - Optional - Can be `pc`, `xbox`, `sony`, or `poe2`. Defaults to `pc`. ### Returns - `league` (?League) - The league object requested or null if not found. ``` -------------------------------- ### Access Token Response Source: https://www.pathofexile.com/developer/docs/authorization Example JSON response received after successfully exchanging an authorization code for an access token. Includes access token, expiry, and user information. ```JSON { "access_token": "486132c90fedb152360bc0e1aa54eea155768eb9", "expires_in": 2592000, "token_type": "bearer", "scope": "account:profile", "username": "Novynn", "sub": "c5b9c286-8d05-47af-be41-67ab10a8c53e", "refresh_token": "17abaa74e599192f7650a4b89b6e9dfef2ff68cd" } ``` -------------------------------- ### Set Identifiable User Agent Header Source: https://www.pathofexile.com/developer/docs/index Applications must set an identifiable User Agent header. This example shows the required format, including client ID, version, and contact information. ```text User-Agent: OAuth {$clientId}/{$version} (contact: {$contact}) ... ``` -------------------------------- ### Get League Account Source: https://www.pathofexile.com/developer/docs/reference Retrieves league-specific account information for a given league. The realm can be specified or defaults to the PC realm. ```APIDOC ## GET /league-account[/]/ ### Description Retrieves league-specific account information for the specified league. ### Method GET ### Endpoint /league-account[/]/ ### Parameters #### Path Parameters - **realm** (string) - Optional - Can either be `xbox` or `sony`. If omitted then the PoE1 PC realm is assumed. - **league** (string) - Required - Must be the name of a league. #### Returns: - **league_account** (LeagueAccount) - The matching league-specific account information for the account. ``` -------------------------------- ### Get League Account Endpoint Source: https://www.pathofexile.com/developer/docs/reference Use this endpoint to retrieve league-specific account information for a given league. The realm can be specified or defaults to the PC realm. ```http GET /league-account[/]/ ``` -------------------------------- ### Get Public Stashes (PoE1) Source: https://www.pathofexile.com/developer/docs/reference Retrieve a stream of all public stashes across all leagues for a given realm. Use the `id` query parameter with a `next_change_id` for pagination. Note the 5-minute delay on results. ```http GET /public-stash-tabs[/] ``` -------------------------------- ### Get Leagues Source: https://www.pathofexile.com/developer/docs/reference Retrieves the current leagues available to the account, including private leagues. This endpoint is specific to PoE1. ```APIDOC ## GET /account/leagues[/] ### Description Retrieves the current leagues available to the account, including private leagues. This endpoint is specific to PoE1. ### Method GET ### Endpoint /account/leagues[/] ### Parameters #### Path Parameters - **realm** (string) - Optional - Can either be `xbox` or `sony`. If omitted then the PoE1 PC realm is assumed. ### Response #### Success Response (200) - **leagues** (array of League) - The current leagues available to the account. ``` -------------------------------- ### Get Item Filters Source: https://www.pathofexile.com/developer/docs/reference Retrieves a list of all online item filters associated with the authenticated account. Requires the 'account:item_filter' scope. ```APIDOC ## GET /item-filter ### Description Retrieves a list of all online item filters on the account. ### Method GET ### Endpoint /item-filter ### Returns: #### Success Response (200) - **filters** (array of ItemFilter) - A list of item filters ``` -------------------------------- ### Get Stash Source: https://www.pathofexile.com/developer/docs/reference Retrieves a specific stash tab object, including any contained items. This endpoint is specific to PoE1. ```APIDOC ## GET /stash[/]//[/] ### Description The stash object requested, including any contained items (when applicable). If a `substash_id` is provided then the inner tab will be wrapped by the parent allowing you to access information of both at the same time. This endpoint is specific to PoE1. ### Method GET ### Endpoint /stash[/]//[/] ### Parameters #### Path Parameters - **realm** (string) - Optional - Can either be `xbox` or `sony`. If omitted then the PoE1 PC realm is assumed. - **league** (string) - Required - The name of a Path of Exile league. - **stash_id** (string) - Required - The public identifier of a stash tab. - **substash_id** (string) - Optional - The public identifier of a sub-tab with `stash_id` as a parent. ### Response #### Success Response (200) - **stash** (?StashTab) - The stash object requested. ``` -------------------------------- ### Get League Event Ladder (PoE1 only) Source: https://www.pathofexile.com/developer/docs/reference Retrieves the event ladder for a specific league in Path of Exile 1. Supports filtering by realm and pagination. ```APIDOC ## Get League Event Ladder (PoE1 only) ### Description Retrieves the event ladder for a specific league in Path of Exile 1. ### Method GET ### Endpoint /league//event-ladder ### Path Parameters - `league` (string) - Required - The name of the league. ### Query Parameters - `realm` (string) - Optional - Can be `pc`, `xbox`, or `sony`. - `limit` (integer) - Optional - Restricts the amount of results returned. Maximum is 500. Defaults to 20. - `offset` (integer) - Optional - Used with `limit` for pagination. ### Returns - `league` (League) - `ladder` (object) - `total` (uint) - `entries` (array of EventLadderEntry) ``` -------------------------------- ### Get Currency Exchange Markets Source: https://www.pathofexile.com/developer/docs/reference View aggregate Currency Exchange trade history, grouped into hourly digests. Responses are historical and do not include current hour data. Use a unix timestamp for the `id` parameter to specify the hour. ```http GET /currency-exchange[/][/] ``` -------------------------------- ### Get Guild Stash Source: https://www.pathofexile.com/developer/docs/reference Retrieves a specific guild stash tab, including its contents. Optionally retrieves a sub-tab within the specified stash. ```APIDOC ## GET /guild[/]/stash//[/] ### Description Retrieves the stash object requested, including any contained items (when applicable). If a `substash_id` is provided then the inner tab will be wrapped by the parent allowing you to access information of both at the same time. ### Method GET ### Endpoint /guild[/]/stash//[/] ### Parameters #### Path Parameters - **realm** (string) - Optional - Can either be `xbox` or `sony`. If omitted then the PoE1 PC realm is assumed. - **league** (string) - Required - The name of a Path of Exile league. - **stash_id** (string) - Required - The public identifier of a guild stash tab. - **substash_id** (string) - Optional - The public identifier of a guild sub-tab with `stash_id` as a parent. #### Returns: - **stash** (StashTab) - The stash object requested. ``` -------------------------------- ### Get Exchange Markets Source: https://www.pathofexile.com/developer/docs/reference Retrieves aggregate currency exchange trade history for a specified realm and time. This endpoint provides historical data grouped into hourly digests for various currency pairs. ```APIDOC ## GET /currency-exchange[/][/] ### Description Retrieves aggregate currency exchange trade history for a specified realm and time. This endpoint provides historical data grouped into hourly digests for various currency pairs. ### Method GET ### Endpoint /currency-exchange[/][/] ### Parameters #### Path Parameters - **realm** (string) - Optional - Can either be `xbox`, `sony`, or `poe2`. If omitted then the PoE1 PC realm is assumed. - **id** (uint) - Optional - A unix timestamp code received from this endpoint. If none is provided then the first hour of history is assumed. ### Response #### Success Response (200) - **next_change_id** (uint) - A unix timestamp truncated to the hour, indicating the end of the stream for the current hour. - **markets** (array of object) - An array of market objects, each representing a currency pair that had activity in the requested hour. ↳ **league** (string) ↳ **market_id** (string) - Common currency code for each pair separated by a pipe. Example: `chaos|divine` ↳ **volume_traded** (dictionary of uint) - The keys are the market currencies. Example: `chaos` ↳ **lowest_stock** (dictionary of uint) ↳ **highest_stock** (dictionary of uint) ↳ **lowest_ratio** (dictionary of uint) ↳ **highest_ratio** (dictionary of uint) ### Response Example { "next_change_id": 1678886400, "markets": [ { "league": "Standard", "market_id": "chaos|divine", "volume_traded": { "chaos": 10000, "divine": 500 }, "lowest_stock": { "chaos": 100, "divine": 5 }, "highest_stock": { "chaos": 200, "divine": 10 }, "lowest_ratio": { "chaos": 18, "divine": 0.055 }, "highest_ratio": { "chaos": 22, "divine": 0.045 } } ] } ``` -------------------------------- ### Get League Ladder Source: https://www.pathofexile.com/developer/docs/reference Retrieves the ladder for a specific league. Supports filtering by realm and sorting options. Note: PoE1 only for `sort` parameter options like `depth`, `depthsolo`, `ancestor`, `time`, `score`, `class`. ```APIDOC ## Get League Ladder ### Description Retrieves the ladder for a specific league. ### Method GET ### Endpoint /league//ladder ### Path Parameters - `league` (string) - Required - The name of the league. ### Query Parameters - `realm` (string) - Optional - Can be `pc`, `xbox`, `sony`, or `poe2`. Defaults to `pc`. - `sort` (string) - Optional (PoE1 only) - Can be `xp`, `depth`, `depthsolo`, `ancestor`, `time`, `score`, or `class`. Use `class=` to set the class when `sort` is `class`. - `limit` (integer) - Optional - Restricts the amount of results returned. Maximum is 500. Defaults to 20. - `offset` (integer) - Optional - Used with `limit` for pagination. ### Returns - `league` (League) - `ladder` (object) - `total` (uint) - `cached_since` (?string) - Date time (ISO8601) - `entries` (array of LadderEntry) ``` -------------------------------- ### Get Public Stashes Source: https://www.pathofexile.com/developer/docs/reference Retrieves a stream of public stash data for a specified realm. This endpoint is useful for tracking stashes and their contents across different leagues and can be paginated using the `next_change_id`. ```APIDOC ## GET /public-stash-tabs[/] ### Description Retrieves a stream of public stash data for a specified realm. This endpoint is useful for tracking stashes and their contents across different leagues and can be paginated using the `next_change_id`. ### Method GET ### Endpoint /public-stash-tabs[/] ### Parameters #### Path Parameters - **realm** (string) - Optional - Can either be `xbox` or `sony`. If omitted then the PoE1 PC realm is assumed. #### Query Parameters - **id** (string) - Optional - A pagination code received from this endpoint. ### Response #### Success Response (200) - **next_change_id** (string) - pagination code - **stashes** (array of PublicStashChange) - An array of public stash change objects. If empty, the end of the stream has been reached. ### Response Example { "next_change_id": "12345-abcde", "stashes": [ { "id": "stash-id-1", "public": true, "accountName": "Player1", "lastCharacterName": "Character1", "stash": "Stash Name 1", "items": [ { "id": "item-id-1", "name": "Item Name 1", "typeLine": "Item Type 1", "stackSize": 10 } ], "league": "Standard" } ] } ``` -------------------------------- ### Get Guild Stash Endpoint Source: https://www.pathofexile.com/developer/docs/reference Retrieve a specific guild stash tab, including its contents. Supports fetching sub-tabs by providing a substash_id. The realm can be specified or defaults to the PC realm. ```http GET /guild[/]/stash//[/] ``` -------------------------------- ### List PvP Matches Source: https://www.pathofexile.com/developer/docs/reference Retrieves a list of PvP matches. Defaults to upcoming matches for PC realm. ```APIDOC ## List PvP Matches ### Description Retrieves a list of PvP matches. Defaults to upcoming matches for the PC realm. ### Method GET ### Endpoint /pvp-match ### Query Parameters #### Optional Query Parameters - **realm** (string) - Optional - Can be `pc` (default), `xbox`, or `sony`. - **type** (string) - Optional - Can be `upcoming` (default), `season`, or `league`. If `season` or `league` is used, specify the season or league name using `season=` or `league=` respectively. ### Returns #### Success Response (200) - **matches** (array of PvPMatch) - An array containing PvP match objects. ``` -------------------------------- ### Generate PKCE Code Verifier and Challenge (PHP) Source: https://www.pathofexile.com/developer/docs/authorization Generates a secure code verifier and its corresponding code challenge using SHA256 for PKCE. Ensure sufficient entropy for the code verifier. ```PHP // PHP example $base64url_encode = fn(string $value): string => trim( r(ase64_encode($value), '+/', '-_'), '='); $secret = andom_bytes(32); $code_verifier = $base64url_encode($secret); $code_challenge = $base64url_encode(\hash('sha256', $code_verifier, true)); ``` -------------------------------- ### Get Item Filter by ID Source: https://www.pathofexile.com/developer/docs/reference Retrieves a specific item filter by its unique ID. Requires the 'account:item_filter' scope. ```APIDOC ## GET /item-filter/ ### Description Retrieves a specific item filter by its unique ID. ### Method GET ### Endpoint /item-filter/ ### Parameters: #### Path Parameters - **id** (string) - Required - The item filter ID ``` -------------------------------- ### JavaScript Bitwise Operations for Version 6 Source: https://www.pathofexile.com/developer/docs/reference Demonstrates how to extract node hash and effect hash from a 32-bit integer in JavaScript for Version 6. ```javascript const masteryEffectPair = 0x910ce685; // (unsigned 32-bit) 2433541765 or (signed 32-bit) -1861425531 const nodeHash = masteryEffectPair & 0xffff; // 59013 (unsigned 16-bit) or 0xe685 const effectHash = masteryEffectPair >>> 16; // 37132 (unsigned 16-bit) or 0x910c ``` -------------------------------- ### Client Credentials Grant POST Request Source: https://www.pathofexile.com/developer/docs/authorization Use this request to obtain an access token for accessing services unrelated to an individual account. Tokens generated this way do not expire and are tied to the application owner's account. ```http POST https://www.pathofexile.com/oauth/token ... Content-Type: application/x-www-form-urlencoded client_id=example &client_secret=verysecret &grant_type=client_credentials &scope=service:psapi ``` -------------------------------- ### List Leagues Source: https://www.pathofexile.com/developer/docs/reference Retrieves a list of leagues. Supports filtering by realm and type, and pagination. ```APIDOC ## List Leagues ### Description Retrieves a list of all matching leagues up to the specified limit. ### Method GET ### Endpoint /league ### Query Parameters - `realm` (string) - Optional - Can be `pc`, `xbox`, `sony`, or `poe2`. Defaults to `pc`. - `type` (string) - Optional - Can be `main` (default), `event`, or `season` (PoE1 only). - `limit` (integer) - Optional - Restricts the amount of results returned. Maximum is 50. Defaults to 50. - `offset` (integer) - Optional - Used with `limit` for pagination. ### Returns - `leagues` (array of League) - A list of leagues. ``` -------------------------------- ### List Characters Source: https://www.pathofexile.com/developer/docs/reference Retrieves a list of all the account's characters. Supports multiple realms including PoE1 and PoE2. ```APIDOC ## GET /character[/] ### Description A list of all the account's characters. ### Method GET ### Endpoint /character[/] ### Parameters #### Path Parameters - **realm** (string) - Optional - Can either be `xbox`, `sony`, or `poe2`. If omitted then the PoE1 PC realm is assumed. ### Response #### Success Response (200) - **characters** (array of Character) - A list of all the account's characters. ``` -------------------------------- ### Create Item Filter Source: https://www.pathofexile.com/developer/docs/reference Creates a new item filter for the authenticated account. Requires the 'account:item_filter' scope. ```APIDOC ## POST /item-filter ### Description Creates a new item filter for the authenticated account. ### Method POST ### Endpoint /item-filter ### Headers: - **Content-Type**: application/json (Required) ### Query Parameters: - **validate** (boolean) - Optional - Set to true to validate the filter against the current game version ### Request Body Parameters (JSON): - **filter_name** (string) - Required - The name of the filter - **realm** (string) - Required - The game realm (`pc`, `xbox`, `sony`, or `poe2`) - **description** (?string) - Optional - A description for the filter - **version** (?string) - Optional - The filter version - **type** (?string) - Optional - The filter type (`Normal` or `Ruthless`) - **public** (?bool) - Optional - Defaults to `false`. Set to `true` to make the filter public. - **filter** (string) - Required - The filter definition in string format. ### Returns: #### Success Response (200) - **filter** (ItemFilter) - The created item filter ``` -------------------------------- ### JavaScript Bitwise Operations for Version 6.2 Source: https://www.pathofexile.com/developer/docs/reference Demonstrates how to extract Ascendancy and Bloodline information from a byte using bitwise operations in JavaScript for Version 6.2. ```javascript const ascendancyData = 0x1B; // (unsigned 8-bit) 27 or (binary) 00 01 10 11 const ascendancy = ascendancyData & 0x3; // 3, the Third Ascendancy of the class const bloodline = ascendancyData >>> 2; // 6, Nameless Bloodline ``` -------------------------------- ### List Guild Stashes Source: https://www.pathofexile.com/developer/docs/reference Lists all stash tabs accessible by the account for a given guild and league. The realm can be specified or defaults to the PC realm. ```APIDOC ## GET /guild[/]/stash/ ### Description Lists all of the guild's stash tabs that the account has access to in the specified league. This includes sub-tabs and stash tabs in folders. ### Method GET ### Endpoint /guild[/]/stash/ ### Parameters #### Path Parameters - **realm** (string) - Optional - Can either be `xbox` or `sony`. If omitted then the PoE1 PC realm is assumed. - **league** (string) - Required - The name of a Path of Exile league. #### Returns: - **stashes** (array of StashTab) - A list of all the guild's stash tabs. ``` -------------------------------- ### Path of Exile Authorization URL Source: https://www.pathofexile.com/developer/docs/authorization Constructs the authorization URL for initiating the OAuth 2.0 Authorization Code Grant flow with PKCE. Ensure redirect_uri matches your registered URI. ```URL https://www.pathofexile.com/oauth/authorize ?client_id=example &response_type=code &scope=account:profile &state=10ceb8104963e91e47a95f4138448ecf &redirect_uri=https://example.com &code_challenge=E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM &code_challenge_method=S256 ``` -------------------------------- ### Client Credentials Grant Source: https://www.pathofexile.com/developer/docs/authorization Use this grant for application-level access to services unrelated to individual user accounts. Tokens generated via this method do not expire and are tied to the application's owner. ```APIDOC ## Client Credentials Grant ### Description This grant can be used by an application in order to access services unrelated to an individual account that are exposed as part of the Path of Exile API. Unlike other tokens these ones do not have a set expiration time. They can still be revoked manually via your application settings page. ### Method POST ### Endpoint https://www.pathofexile.com/oauth/token ### Parameters #### Request Body - **client_id** (string) - Required - Your application's client ID. - **client_secret** (string) - Required - Your application's client secret. - **grant_type** (string) - Required - Must be set to `client_credentials`. - **scope** (string) - Required - The scope of access requested, e.g., `service:psapi`. ### Request Example ``` POST https://www.pathofexile.com/oauth/token Content-Type: application/x-www-form-urlencoded client_id=example&client_secret=verysecret&grant_type=client_credentials&scope=service:psapi ``` ### Response #### Success Response (200) - **access_token** (string) - The obtained access token. - **expires_in** (null) - This grant type does not provide an expiration time. - **token_type** (string) - The type of token, usually `bearer`. - **username** (string) - The username of the application owner. - **sub** (string) - The subject identifier for the token. - **scope** (string) - The scopes granted to this token. #### Response Example ```json { "access_token": "cded8a4638ae9bc5fe6cd897890e25e41f0f4e21", "expires_in": null, "token_type": "bearer", "username": "Novynn", "sub": "c5b9c286-8d05-47af-be41-67ab10a8c53e", "scope": "service:psapi" } ``` ``` -------------------------------- ### List Guild Stashes Endpoint Source: https://www.pathofexile.com/developer/docs/reference This endpoint retrieves a list of all accessible guild stash tabs for a specified league. The realm can be specified or defaults to the PC realm. ```http GET /guild[/]/stash/ ``` -------------------------------- ### Client Credentials Grant Success Response Source: https://www.pathofexile.com/developer/docs/authorization A successful response to the Client Credentials grant request will contain an access token, expiration information (null for this grant type), token type, and associated user/scope details. ```json { "access_token": "cded8a4638ae9bc5fe6cd897890e25e41f0f4e21", "expires_in": null, "token_type": "bearer", "username": "Novynn", "sub": "c5b9c286-8d05-47af-be41-67ab10a8c53e", "scope": "service:psapi" } ``` -------------------------------- ### List Stashes Source: https://www.pathofexile.com/developer/docs/reference Retrieves a list of all the account's stash tabs in the specified league. This endpoint is specific to PoE1. ```APIDOC ## GET /stash[/]/ ### Description A list of all the account's stash tabs in the specified league. This includes sub-tabs and stash tabs in folders. This endpoint is specific to PoE1. ### Method GET ### Endpoint /stash[/]/ ### Parameters #### Path Parameters - **realm** (string) - Optional - Can either be `xbox` or `sony`. If omitted then the PoE1 PC realm is assumed. - **league** (string) - Required - The name of a Path of Exile league. ### Response #### Success Response (200) - **stashes** (array of StashTab) - A list of all the account's stash tabs in the specified league. ``` -------------------------------- ### Refresh Token Grant POST Request Source: https://www.pathofexile.com/developer/docs/authorization Submit this request to obtain a new access token using a previously issued refresh token. This avoids requiring the user to re-authorize your application. ```http POST https://www.pathofexile.com/oauth/token ... Content-Type: application/x-www-form-urlencoded client_id=example &client_secret=verysecret &grant_type=refresh_token &refresh_token=17abaa74e599192f7650a4b89b6e9dfef2ff68cd ``` -------------------------------- ### Include Access Token in Authorization Header Source: https://www.pathofexile.com/developer/docs/authorization Include your access token in the 'Authorization' header with the 'Bearer' schema. An HTTP 401 error indicates an expired or revoked token, while a 403 error signifies insufficient scopes. ```http Authorization: Bearer 486132c90fedb152360bc0e1aa54eea155768eb9 ``` -------------------------------- ### Exchange Authorization Code for Access Token Source: https://www.pathofexile.com/developer/docs/authorization Exchanges an authorization code for an access token by sending a POST request to the /oauth/token endpoint. Authorization codes expire after 30 seconds. ```HTTP POST https://www.pathofexile.com/oauth/token ... Content-Type: application/x-www-form-urlencoded client_id=example &client_secret=verysecret &grant_type=authorization_code &code=d25cc653854f1d4db9c0797a30a374c6 &redirect_uri=https://example.com &scope=account:profile &code_verifier=dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk ```