KirnDar.5498:

Hi,
Correct me if I’m wrong but shouldn’t commerce/listing endpoint (https://api.guildwars2.com/v2/commerce/listings ) return only the item ids that are on the trading post? I have a basic app that reads the listings; it first reads all the listed item ids from commerce/listings, then batch-reads the details by fetching the commerce/listings?ids=<comma_seperated_ids>. However the ids list from commerce/listing endpoint contains the id “19717”, which is Sun Bead; an account bound item that shouldn’t be on TP at all. So when i try to fetch commerce/listings?ids=<comma_seperated_ids> with 19717 as one of the ids, i got a http 400 error as no tp details for Sun Beads exists.
Eventually i’ll probably end up filtering account bound item ids from my batch-reads but shouldn’t those item ids be excluded from listings endpoints entirely? It’s the first time i’m having this problem so i thought maybe there’s some problem with the API that needs fixing.

Lawton Campbell.8517:

Yeppers, we just updated the trading post backend which fixed a longstanding bug that the API had been unwittingly abusing. I’m pushing out a fix that makes the API do the right thing. Here’s a tracking issue.

EDIT: Deployed the API fix which should have corrected the issue. 19717 no longer shows up in the listings.

KirnDar.5498:

Thanks for the fast reply.
However, a quick cross reference with the ids in commerce/listings with item ids that are flagged either “AccountBound” or “SoulbindOnAcquire” still yields some ids that shouldn’t be in listings. Here are my results:

29236 Modniir Ward
30572 Experimental Skritt Musket
8587 Drottot’s Poached Egg
23358 Hunter’s Amulet

As i said, I’ll be filtering AccountBound or SoulBound item ids from my requests so it’s not a big deal to me. Still I thought maybe you’d like to know…

Lawton Campbell.8517:

Thanks for that list, that’s super helpful. There’s a longstanding bug in one of the backend servers that causes it to erroneously return items it shouldn’t — in the meanwhile I’ve added those ids to the blacklist so they will stop appearing in the list.