Sorry to "revive" the topic but : in the end, what did you do ?

I think there are 2 schools :
* you add query parameters to the get
* you first post to create a query (/users/queries) then you get the query (/users/queries/1)

I know that the trac project (and others) use the first approach

The advantage of the second approach are :
* you can have a very long query (whereas with a get you are limited to 8092 bytes)
* you can easily share the url
* you can easily consider to retrieve the query as xls or xml or json (/users/queries/1.json)
* you can create syndicate feeds very easily (this is also possible with the get approach but it is less natural)

What do you think ?