I started noticing this issue today because some of my websites rely on the order/indexes of the response data instead of using the targetId. I’m not sure if this change is intentional or not.
Example GET request https://thumbnails.roblox.com/v1/games/icons?universeIds=994732206,5203828273,1686885941&returnPolicy=PlaceHolder&size=256x256&format=Png&isCircular=false
Expected behavior: Data should be in order of the IDs that were sent in the request
dev here that changed this recently . While it was not intentional, the ordering of the result was never guaranteed in the first place and as you already figured out the targetId lookup is the correct solution
Sorry about the troubles this may have caused you. We’re discussing internally if we want to give a bit of a grace period with retroactive sorting according to the query parameters.
Reason for this was some internal pipelining where you’re now enjoying less than half the latency on this endpoint (especially for large payloads)
Note: Similar optimizations are coming to more thumbnails api endpoints in the near future.
We just merged a change to update the swagger docs. With the next deploy it will be more explicit w.r.t. this behavior. For now we’ll keep the new behavior as is, because even before the Ids that do not correspond to a valid universe will be filtered out. part implied a non-stable mapping from universeIds to results array.