WoW Shadowlands API Update - Covenants, Soulbinds & More

Greeting adventurers,

We are pleased to announce the release of new APIs and resources in support of World of Warcraft: Shadowlands.

Please find the list of new APIs and resources below:

Game Data API

Please note that this data may not be available in all regions. Data will become available in each region as the region completes its weekly patch.

Namespace: static-{region}

Covenants

Covenants Index

https://us.api.blizzard.com/data/wow/covenant/

Covenant

https://us.api.blizzard.com/data/wow/covenant/{id}

Covenant Media

https://us.api.blizzard.com/data/wow/media/covenant/{id}

Soulbinds

Soulbinds Index

https://us.api.blizzard.com/data/wow/covenant/soulbind/

Soulbind

https://us.api.blizzard.com/data/wow/covenant/soulbind/{id}

Conduits

Conduits Index

https://us.api.blizzard.com/data/wow/covenant/conduit/

Conduit

https://us.api.blizzard.com/data/wow/covenant/conduit/{id}

Tech Talent Trees

Tech Talent Trees Index

https://us.api.blizzard.com/data/wow/tech-talent-tree/

Tech Talent Tree

https://us.api.blizzard.com/data/wow/tech-talent-tree/{id}

Tech Talents

Tech Talents Index

https://us.api.blizzard.com/data/wow/tech-talent/

Tech Talent

https://us.api.blizzard.com/data/wow/tech-talent/{id}

Tech Talent Media

https://us.api.blizzard.com/data/wow/media/tech-talent/{id}

Profile API

Namespace: profile-{region}

Please note that this data will not be available, or represented as href links in character documents until AFTER Shadowlands is live and characters with an active covenant & soulbinds have experienced a logout.

Character Covenant

https://us.api.blizzard.com/profile/wow/character/{realm-slug}/{name-slug}

Example

{
  ...
  "covenant_progress": {
    "chosen_covenant": {
      "id": 2,
      "key": {
        "href": "https://us.api.blizzard.com/data/wow/covenant/2?namespace=static-us"
      },
      "name": {
        "de_DE": "Venthyr",
        "en_GB": "Venthyr",
        "en_US": "Venthyr",
        "es_ES": "venthyr",
        "es_MX": "Venthyr",
        "fr_FR": "Venthyrs",
        "it_IT": "Venthyr",
        "ko_KR": "벤티르",
        "pt_BR": "Venthyr",
        "ru_RU": "Вентиры",
        "zh_CN": "温西尔",
        "zh_TW": "汎希爾族"
      }
    },
    "renown_level": 21,
    "soulbinds": {
      "href": "https://us.api.blizzard.com/profile/wow/character/magtheridon/leeroy/soulbinds?namespace=profile-us"
    }
  }
  ...
}

Character Covenant Soulbinds

https://us.api.blizzard.com/profile/wow/character/{realm-slug}/{name-slug}/soulbinds

Example

{
  "_links": {
    "self": {
      "href": "https://us.api.blizzard.com/profile/wow/character/tichondrius/leeroy/soulbinds?namespace=profile-us"
    }
  },
  "character": {
    "id": 12345,
    "key": {
      "href": "https://us.api.blizzard.com/profile/wow/character/tichondrius/leeroy?namespace=profile-us"
    },
    "name": "Leeroy",
    "realm": {
      "id": 11,
      "key": {
        "href": "https://us.api.blizzard.com/data/wow/connected-realm/11?namespace=dynamic-us"
      },
      "name": {
        "en_US": "Tichondrius",
        "es_MX": "Tichondrius",
        "pt_BR": "Tichondrius",
        "de_DE": "Tichondrius",
        "en_GB": "Tichondrius",
        "es_ES": "Tichondrius",
        "fr_FR": "Tichondrius",
        "it_IT": "Tichondrius",
        "ru_RU": "Tichondrius",
        "ko_KR": "Tichondrius",
        "zh_TW": "提克迪奧斯",
        "zh_CN": "提克迪奥斯"
      },
      "slug": "tichondrius"
    }
  },
  "chosen_covenant": {
    "id": 3,
    "key": {
      "href": "https://us.api.blizzard.com/data/wow/covenant/3?namespace=static-us"
    },
    "name": {
      "de_DE": "Nachtfae",
      "en_GB": "Night Fae",
      "en_US": "Night Fae",
      "es_ES": "sílfides nocturnas",
      "es_MX": "Noctifeéricos",
      "fr_FR": "Faë nocturnes",
      "it_IT": "Silfi della Notte",
      "ko_KR": "나이트 페이",
      "pt_BR": "Feérios Noturnos",
      "ru_RU": "Ночной народец",
      "zh_CN": "法夜",
      "zh_TW": "暗夜妖精"
    }
  },
  "renown_level": 39,
  "soulbinds": [
    {
      "soulbind": {
        "id": 1,
        "key": {
          "href": "https://us.api.blizzard.com/data/wow/covenant/soulbind/1?namespace=static-us"
        },
        "name": {
          "de_DE": "Niya",
          "en_GB": "Niya",
          "en_US": "Niya",
          "es_ES": "Niya",
          "es_MX": "Niya",
          "fr_FR": "Niya",
          "it_IT": "Niya",
          "ko_KR": "니야",
          "pt_BR": "Niya",
          "ru_RU": "Ния",
          "zh_CN": "尼娅",
          "zh_TW": "妮亞"
        }
      },
      "traits": [
        {
          "display_order": 1,
          "tier": 0,
          "trait": {
            "id": 864,
            "key": {
              "href": "https://us.api.blizzard.com/data/wow/tech-talent/864?namespace=static-us"
            },
            "name": {
              "de_DE": "Kreislauf der Jahreszeiten",
              "en_GB": "Cycle of Seasons",
              "en_US": "Cycle of Seasons",
              "es_ES": "Ciclo de estaciones",
              "es_MX": "Ciclo de estaciones",
              "fr_FR": "Cycle des saisons",
              "it_IT": "Ciclo delle Stagioni",
              "ko_KR": "계절의 순환",
              "pt_BR": "Ciclo das Estações",
              "ru_RU": "Смена сезонов",
              "zh_CN": "四季轮回",
              "zh_TW": "季節更迭"
            }
          }
        }
      ]
    },
    {
      "is_active": true,
      "soulbind": {
        "id": 2,
        "key": {
          "href": "https://us.api.blizzard.com/data/wow/covenant/soulbind/2?namespace=static-us"
        },
        "name": {
          "de_DE": "Traumweber",
          "en_GB": "Dreamweaver",
          "en_US": "Dreamweaver",
          "es_ES": "Tejesueños",
          "es_MX": "Tejesueños",
          "fr_FR": "Tisse-Rêves",
          "it_IT": "Plasmasogni",
          "ko_KR": "드림위버",
          "pt_BR": "Tece-sonhos",
          "ru_RU": "Творец Снов",
          "zh_CN": "织梦者",
          "zh_TW": "織夢者"
        }
      },
      "traits": [
        {
          "display_order": 1,
          "tier": 0,
          "trait": {
            "id": 837,
            "key": {
              "href": "https://us.api.blizzard.com/data/wow/tech-talent/837?namespace=static-us"
            },
            "name": {
              "de_DE": "Kapselpfleger",
              "en_GB": "Podtender",
              "en_US": "Podtender",
              "es_ES": "Cuidador de vainas",
              "es_MX": "Cápsula rejuvenecedora",
              "fr_FR": "Cocon curatif",
              "it_IT": "Cura dei Baccelli",
              "ko_KR": "보존의 깍지",
              "pt_BR": "Cuidador de Casulos",
              "ru_RU": "Защитный стручок",
              "zh_CN": "灵茧守护者",
              "zh_TW": "護命莢"
            }
          }
        },
        {
          "conduit_socket": {
            "type": {
              "name": {
                "de_DE": "Finessemediumsplatz",
                "en_GB": "Finesse Conduit Slot",
                "en_US": "Finesse Conduit Slot",
                "es_ES": "Ranura de conducto de sutileza",
                "es_MX": "Ranura de conducto de delicadeza",
                "fr_FR": "Emplacement d’intermédiaire de finesse",
                "it_IT": "Scomparto Condotto della Precisione",
                "ko_KR": "기교의 도관 칸",
                "pt_BR": "Espaço de Conduíte de Finesse",
                "ru_RU": "Ячейка для проводника точности",
                "zh_CN": "灵巧导灵器插槽",
                "zh_TW": "巧技靈印欄位"
              },
              "type": "FINESSE"
            }
          },
          "display_order": 2,
          "tier": 1
        },
        {
          "conduit_socket": {
            "type": {
              "name": {
                "de_DE": "Potenzmediumsplatz",
                "en_GB": "Potency Conduit Slot",
                "en_US": "Potency Conduit Slot",
                "es_ES": "Ranura de conducto de potencia",
                "es_MX": "Ranura de conducto de potencia",
                "fr_FR": "Emplacement d’intermédiaire de puissance",
                "it_IT": "Scomparto Condotto della Potenza",
                "ko_KR": "잠재력의 도관 칸",
                "pt_BR": "Espaço de Conduíte de Potência",
                "ru_RU": "Ячейка для проводника силы",
                "zh_CN": "效能导灵器插槽",
                "zh_TW": "威能靈印欄位"
              },
              "type": "POTENCY"
            }
          },
          "display_order": 1,
          "tier": 2
        },
        {
          "display_order": 1,
          "tier": 3,
          "trait": {
            "id": 826,
            "key": {
              "href": "https://us.api.blizzard.com/data/wow/tech-talent/826?namespace=static-us"
            },
            "name": {
              "de_DE": "Geselligkeit",
              "en_GB": "Social Butterfly",
              "en_US": "Social Butterfly",
              "es_ES": "Mariposa social",
              "es_MX": "Mariposa social",
              "fr_FR": "Papillonnage",
              "it_IT": "Farfallone",
              "ko_KR": "마당발",
              "pt_BR": "Altamente Sociável",
              "ru_RU": "Украшение компании",
              "zh_CN": "蝴蝶效应",
              "zh_TW": "花蝴蝶"
            }
          }
        },
        {
          "conduit_socket": {
            "type": {
              "name": {
                "de_DE": "Widerstandsmediumsplatz",
                "en_GB": "Endurance Conduit Slot",
                "en_US": "Endurance Conduit Slot",
                "es_ES": "Ranura de conducto de robustez",
                "es_MX": "Ranura de conducto de robustez",
                "fr_FR": "Emplacement d’intermédiaire d’endurance",
                "it_IT": "Scomparto Condotto del Vigore",
                "ko_KR": "인내력의 도관 칸",
                "pt_BR": "Espaço de Conduíte de Resistência",
                "ru_RU": "Ячейка для проводника выносливости",
                "zh_CN": "耐久导灵器插槽",
                "zh_TW": "耐抗靈印欄位"
              },
              "type": "ENDURANCE"
            }
          },
          "display_order": 1,
          "tier": 4
        },
        {
          "conduit_socket": {
            "type": {
              "name": {
                "de_DE": "Widerstandsmediumsplatz",
                "en_GB": "Endurance Conduit Slot",
                "en_US": "Endurance Conduit Slot",
                "es_ES": "Ranura de conducto de robustez",
                "es_MX": "Ranura de conducto de robustez",
                "fr_FR": "Emplacement d’intermédiaire d’endurance",
                "it_IT": "Scomparto Condotto del Vigore",
                "ko_KR": "인내력의 도관 칸",
                "pt_BR": "Espaço de Conduíte de Resistência",
                "ru_RU": "Ячейка для проводника выносливости",
                "zh_CN": "耐久导灵器插槽",
                "zh_TW": "耐抗靈印欄位"
              },
              "type": "ENDURANCE"
            }
          },
          "display_order": 1,
          "tier": 5
        },
        {
          "display_order": 2,
          "tier": 6,
          "trait": {
            "id": 834,
            "key": {
              "href": "https://us.api.blizzard.com/data/wow/tech-talent/834?namespace=static-us"
            },
            "name": {
              "de_DE": "Schlafwandler",
              "en_GB": "Somnambulist",
              "en_US": "Somnambulist",
              "es_ES": "Sonámbulo",
              "es_MX": "Sonámbulo",
              "fr_FR": "Somnambule",
              "it_IT": "Sonnambulismo",
              "ko_KR": "몽유병자",
              "pt_BR": "Sonâmbulo",
              "ru_RU": "Сомнамбула",
              "zh_CN": "梦游者",
              "zh_TW": "夢遊者"
            }
          }
        },
        {
          "display_order": 1,
          "tier": 7,
          "trait": {
            "id": 824,
            "key": {
              "href": "https://us.api.blizzard.com/data/wow/tech-talent/824?namespace=static-us"
            },
            "name": {
              "de_DE": "Mohnfeld",
              "en_GB": "Field of Poppies",
              "en_US": "Field of Poppies",
              "es_ES": "Campo de amapolas",
              "es_MX": "Campo de amapolas",
              "fr_FR": "Champ de pavots",
              "it_IT": "Campo di Papaveri",
              "ko_KR": "백일홍의 들판",
              "pt_BR": "Campo de Papoulas",
              "ru_RU": "Маковое поле",
              "zh_CN": "罂粟地",
              "zh_TW": "罌粟花田"
            }
          }
        }
      ]
    },
    {
      "soulbind": {
        "id": 6,
        "key": {
          "href": "https://us.api.blizzard.com/data/wow/covenant/soulbind/6?namespace=static-us"
        },
        "name": {
          "de_DE": "Korayn",
          "en_GB": "Korayn",
          "en_US": "Korayn",
          "es_ES": "Korayn",
          "es_MX": "Korayn",
          "fr_FR": "Korayn",
          "it_IT": "Korayn",
          "ko_KR": "코레인",
          "pt_BR": "Korayn",
          "ru_RU": "Корейн",
          "zh_CN": "柯莱恩",
          "zh_TW": "克芮恩"
        }
      }
    }
  ]
}

As always, please keep an eye on the official documentation site for updated API references, which will be going live over the next couple of days.

Happy coding!

3 Likes

Can you provide an example document for the Character Soulbinds API so we can see what the JSON looks like?

1 Like

We’ve updated the original post to now include examples related to the character profiles document changes.

2 Likes

Thank you! Appreciate the work y’all have put into this. Looking forward to Shadowlands with data available on day one.

1 Like

Is there an example where a conduit slot has something socketed? The examples posted looks like the sockets are empty.

Hi Seriallos,

Please see below for an example constructed to demonstrate a conduit with an active socket.

{
  "traits": [
    {
      "conduit_socket": {
        "socket": {
          "conduit": {
            "id": 119,
            "key": {
              "href": "http://us.api.blizzard.com/data/wow/covenant/conduit/119?namespace=static-us"
            },
            "name": {
              "de_DE": "Schwerer Regen",
              "en_GB": "Heavy Rainfall",
              "en_US": "Heavy Rainfall",
              "es_ES": "Precipitaciones intensas",
              "es_MX": "Lluvia potente",
              "fr_FR": "Averse torrentielle",
              "it_IT": "Pioggia Pesante",
              "ko_KR": "거센 장마",
              "pt_BR": "Precipitação Pesada",
              "ru_RU": "Могучий ливень",
              "zh_CN": "瓢泼大雨",
              "zh_TW": "滂沱大雨"
            }
          },
          "rank": 1
        },
        "type": {
          "name": {
            "de_DE": "Potenzmediumsplatz",
            "en_GB": "Potency Conduit Slot",
            "en_US": "Potency Conduit Slot",
            "es_ES": "Ranura de conducto de potencia",
            "es_MX": "Ranura de conducto de potencia",
            "fr_FR": "Emplacement d’intermédiaire de puissance",
            "it_IT": "Scomparto Condotto della Potenza",
            "ko_KR": "잠재력의 도관 칸",
            "pt_BR": "Espaço de Conduíte de Potência",
            "ru_RU": "Ячейка для проводника силы",
            "zh_CN": "效能导灵器插槽",
            "zh_TW": "威能靈印欄位"
          },
          "type": "POTENCY"
        }
      },
      "display_order": 0,
      "tier": 1
    }
  ]
}
1 Like

I’m going through a problem in the game interface very strange ! I can’t access the addons panel! the buttons just disappeared ! follow attached images

cant attach images here ! but its very weird !

Hi @Maguthul,

Is there any way of detecting what are the active conduits/traits? Right now I can get all conduits/traits, but I cannot filter only the ones that are active/being used with current implementation

2 Likes

Thanks for the Shadowlands update. I’ve been scraping players for my Drustvar site. I’ve noticed a few Conduits that are missing.

Pulling player conduit data from the “/profile/wow/character/{realm-slug}/{name-slug}/soulbinds” end point

Following conduits seem to be missing from “/data/wow/covenant/conduit/{id}” (and not listed under the index endpoint)

"name" => "Stalwart Guardian"
"id" => 5

"name" => "Inspiring Presence"
"id" => 8

"name" => "Safeguard"
"id" => 9

"name" => "Grounding Breath"
"id" => 25

"name" => "Walk with the Ox"
"id" => 57

Example of a player that has one of these missing conduits.
azralon-killbórn

          "conduit_socket": {
            "type": {
              "type": "FINESSE",
              "name": "Finesse Conduit Slot"
            },
            "socket": {
              "conduit": {
                "key": {
                  "href": "https://us.api.blizzard.com/data/wow/covenant/conduit/8?namespace=static-9.0.2_36532-us"
                },
                "name": "Inspiring Presence",
                "id": 8
              },
              "rank": 1
            }
          },
          "tier": 1,
          "display_order": 2
        },

Ditto this. There’s no indication of which path the character has chosen. I believe each trait/conduit needs an “active” property to indicate if it’s currently active.

2 Likes

Bumping this again. Soulbinds Profile API is currently unusable - it’s returning all traits a player has ever chosen, not the traits that are currently chosen. This makes it unsuitable for any purpose since it does not reflect the current state of a character (it often is an impossible state that cannot be duplicated in-game)

3 Likes

Ditto. As I type this, I’m working on a soulbind import feature for you-know-where-head and I have to decide whether to launch the incomplete feature (which looks buggy) or wait for a fix (and let our competitors appear to launch first).

1 Like

Greetings all,

Thank you for reporting these issues to us. While we are unable to provide an estimate on when we may be able to address these reports, we do want you to know that we have received them. Thank you for your patience.

5 Likes

Looks like legendary spell data and media is missing as well.

Player’s equipment

  "spells" => array:1 [
    0 => array:2 [
      "spell" => array:3 [
        "key" => array:1 [
          "href" => "https://us.api.blizzard.com/data/wow/spell/338608?namespace=static-9.0.2_36532-us"
        ]
        "name" => "Oath of the Elder Druid"
        "id" => 338608
      ]
      "description" => """
        Equip: Effects of Thick Hide, Astral Influence, Feline Swiftness, and Ysera's Gift increased by 75%.\r\n
        \r\n
        When you shift into your Affinity's form, you gain Heart of the Wild for 10 sec, once every 1 min.
        """
    ]
  ]

Then trying to get the spell information from this Legendary Item
/data/wow/spell/338608?namespace=static-us&locale=en_US&access_token=abc

404 Not Found

(tested with both static-us and static-9.0.2_36532-us namepsaces)

Do we have a way to request torghast layers completed by a character (overall / weekly) ?

Do you have plans to add informations as anima used for a run and the time it takes ?

1 Like

Couple other requests:

  • It would be awesome to have an API for the “conduit library” to know what conduits a player has unlocked.
  • Having enchant data for things like oils, weightstones, and stamina patches would be awesome as well
1 Like

It appears that the Soulbind API has been updated to only return active soulbind traits. I have some monitoring running on Raidbots and I’m only seeing bad data for characters whose last modified time is before Dec 12th, roughly.

Was the soulbind API fixed recently? Can I depend on it moving forward?

Greetings all,

An update on the Conduit and soulbinds API: with regional restarts in support of today’s scheduled maintenance, data for characters who log out after the maintenance period will now reflect only those conduits which are currently active for a given soulbind.

Please note that a Battlenet-Schema revision number change will not take affect for this change, and as such we recommend relying on the last modified date for individual documents if/when determining whether consumed data is pre or post fix.

Thank you again for your patience as we addressed this issue.

Any news on the missing spell media missing?

eg: Oath of the Elder Druid
/data/wow/spell/338608?namespace=static-us&locale=en_US&access_token=abc returns a 404

wowhead: