Wow Data inconsistency

Hi there! Recently, I wasted a lot of precious time to make work some API endpoints together until the moment I figured out that there is a data inconsistency, which is giving only frustration about API. Just giving an example:
First let get an item Unchained Gladiator's Medallion by id 185304 and take a look at .preview_item.spells section

curl --location --request GET '$TOKEN'|jq '.preview_item|.spells'

here you can see what is section spells contains:

    "spell": {
      "key": {
        "href": ""
      "name": "Gladiator's Medallion",
      "id": 336126
    "description": "Use: Removes all movement impairing effects and all effects which cause loss of control of your character. (2 Min Cooldown)"

So, let’s query the spell right from the provided link . I even preserved the recommended namespace:

curl --location --request GET '$TOKEN'|jq

and I see this:

  "code": 404,
  "type": "BLZWEBAPI00000404",
  "detail": "Not Found"

That is it. Only a disappointing frustration. Seems like if you want to build something good, the data mining is the only solution. Does anyone can share any API better than this?