I think you need to try an additional level of indirection on your return value:
:returns => [[:boolean, :int, :int, :string, :string]]
This will return an array containing a boolean, two ints and two strings. Your prior definition didn't do that. I think this is due to the peculiarity of how the syntax looks for the api definition. The first pair of brackets don't actually define an array from the API standpoint.
I'm not explaining this well... sorry. Just try the above and see if it fixes your problem.