Not sure this is a bug, but when submitting a list of ids, I was expecting the results to be returned in the same order as submitted. This appears to be true when querying taxa ids (1st example), but when querying observation ids, the results seem to be sorted alphabetically (2nd example). Is this intended behavior? Using R just to show the results.
library(jsonlite)
x<-fromJSON("https://api.inaturalist.org/v1/taxa/919373,426931,514117,3950")
x$results$id
## [1] 919373 426931 514117 3950
x<-fromJSON("https://api.inaturalist.org/v1/observations/701,301,501,22222")
x$results$id
## [1] 22222 301 501 701
You should be able to use order
(desc or asc) and order_by
to get things to display the way you want. More in the API documentation.
I was using the GET /taxa/{id} and the GET /observation/{id} where I think parameters are not available. I looked at the GET /taxa and the GET /observation, but it does not seem possible to get back results in the order submitted. Of course, it is possible to reorganize everything after, but the default ordering seems to differ in some case.
x<-fromJSON("https://api.inaturalist.org/v1/taxa/919373,426931,514117,3950,1154349")
x$results$id
## [1] 919373 426931 514117 3950 1154349
x<-fromJSON("https://api.inaturalist.org/v1/taxa?taxon_id=919373,426931,514117,3950,1154349")
x$results$id
## [1] 3950 426931 514117 919373 1154349
x<-fromJSON("https://api.inaturalist.org/v1/observations/701,301,501,22222")
x$results$id
## [1] 22222 301 501 701
x<-fromJSON("https://api.inaturalist.org/v1/observations?id=701,301,501,22222")
x$results$id
## [1] 22222 301 501 701
In the first case, the order is the one submitted, in the second, the results are numerically ordered and in the last two, the order is alphabetical. It would make more sense to me to have the same default order everywhere and I think the order in which ids are submitted is the most useful.