I managed to get this working in the end by using the optional filters parameter. According to the documentation these are the following accepted filter parameters.
struct filter: Optional. string post_type string post_status int number int offset string orderby string order
Out of curiousity I sent over a 'category' filter by adding the following to class-wp-xmlrpc-server.php
under the getposts method
if(isset($filter['category']))
$query['category'] = absint($filter['category']);
before the wp_get_recent_posts{$query);
method is called
and it worked! It seems like Wordpress
have left out a few filter parameters from their documentation.
You can also send over a search filter by passing over 's' as the filter
$query['s'] = $filter['s'];