Question about parameter order in using search API

api
search
type
Tags: #<Tag:0x00007f29ffbb2738> #<Tag:0x00007f29ffbb25f8> #<Tag:0x00007f29ffbb24b8>

#1

Following the documentation to use the search API, as depicted here:

https://musicbrainz.org/doc/Development/XML_Web_Service/Version_2/Search

I found that no where it states that the parameters need to be in any particular order.
Yet I find at least the “type” parameter CANNOT be placed at the other after other parameters

So for example searching the release-group resource, removing any escaping for clarity, this works:
http://musicbrainz.org/ws/2/release-group/?query=type:Single AND release:Eyes On Fire AND artist:Blue Foundation
or this works:
http://musicbrainz.org/ws/2/release-group/?query=release:Eyes On Fire AND type:Single AND artist:Blue Foundation

while this fails:
http://musicbrainz.org/ws/2/release-group/?query=release:Eyes On Fire AND artist:Blue Foundation AND type:Single

Any thoughts


#2

All of these examples are invalid, quotes are missing around Eye On Fire and Blue Foundation as in http://musicbrainz.org/ws/2/release-group/?query=release:“Eyes On Fire” AND artist:“Blue Foundation” AND type:Single


#3

So to confirm, any variable needs to be in quotes while any enumeration from the api document doesn’t

Meaning since type uses an enumeration from documentation, it doesn’t go in quotes while other unknown info must be


#4

In the example above the parameters have to be quoted because they contain spaces. If you do a release search of artist:Blue Foundation it will search for “artist:Blue” and for the keyword “Foundation” somewhere in the release.


#5

I see; now… leaving the quotes out really effects the way things work

So in my actual .net application i was url encoding the values of each parameter and putting that in quotes, even the “&” ones like limit and fmt, ( i dont know what they are called)
Perhaps encoding is overkill, and perhaps the quotes aren’t needed for things with no spaces but it doesn’t seem to negatively effect anything.

I just got myself confused when testing a few things in the browser and forgot the quotes…

Thanks for pointing out my error.