I’ve been using the API recently to get information about items, and in general the /items endpoint is working well. I now want to get some information about related vocabs (in order to determine ilk (word/char/sent) and banned status), and I’ve encountered what look like some bugs.
First, when sending a GET request to the /items endpoint, if I have ‘include_vocabs’ set to ‘true’, I get a 400 error response. If I leave out that parameter or set it to ‘false’, the request works, but, of course, no vocabs are returned. The API documentation doesn’t imply there is anything special about this parameter, and says boolean parameters should have ‘true’ or ‘false’ values. Is this parameter not supported, or is it a bug? (I get the same error response when I tested setting ‘include_contained’ to ‘true’, so it might be a general issue with boolean parameters.)
Second, if I want to look up vocabs for an item, I would use the vocabIds for each item, and then search for them using the /vocabs endpoint. I did some tests banning and unbanning parts of items and then fetching the most recently-changed items, and it looks like the list of vocab ids is empty for item parts (rdng/defn/rune) that are banned. So if only some of the parts are banned, some items for a vocab will have an empty vocabIds list, while others will not. Is this a correct observation? Is it a bug? I’m not completely sure, but I believe I have seen other items that do not have any vocabIds but are not banned. I believe these are for “comp” items, but I am not sure this accounts for all situations. In any case, since there are multiple reasons why the vocabIds list could be empty, I can’t make any assumptions when I see an empty list. And this means I can’t reliably determine an item’s ilk and banned status with the information available.