+ * @param string $action API action to perform: 'query_themes', 'theme_information',
+ * 'hot_tags' or 'feature_list'.
+ * @param array|object $args {
+ * Optional. Array or object of arguments to serialize for the Themes API.
+ *
+ * @type string $slug The theme slug. Default empty.
+ * @type int $per_page Number of themes per page. Default 24.
+ * @type int $page Number of current page. Default 1.
+ * @type int $number Number of tags to be queried.
+ * @type string $search A search term. Default empty.
+ * @type string $tag Tag to filter themes. Default empty.
+ * @type string $author Username of an author to filter themes. Default empty.
+ * @type string $user Username to query for their favorites. Default empty.
+ * @type string $browse Browse view: 'featured', 'popular', 'updated', 'favorites'.
+ * @type string $locale Locale to provide context-sensitive results. Default is the value of get_locale().
+ * @type array $fields {
+ * Array of fields which should or should not be returned.
+ *
+ * @type bool $description Whether to return the theme full description. Default false.
+ * @type bool $sections Whether to return the theme readme sections: description, installation,
+ * FAQ, screenshots, other notes, and changelog. Default false.
+ * @type bool $rating Whether to return the rating in percent and total number of ratings.
+ * Default false.
+ * @type bool $ratings Whether to return the number of rating for each star (1-5). Default false.
+ * @type bool $downloaded Whether to return the download count. Default false.
+ * @type bool $downloadlink Whether to return the download link for the package. Default false.
+ * @type bool $last_updated Whether to return the date of the last update. Default false.
+ * @type bool $tags Whether to return the assigned tags. Default false.
+ * @type bool $homepage Whether to return the theme homepage link. Default false.
+ * @type bool $screenshots Whether to return the screenshots. Default false.
+ * @type int $screenshot_count Number of screenshots to return. Default 1.
+ * @type bool $screenshot_url Whether to return the URL of the first screenshot. Default false.
+ * @type bool $photon_screenshots Whether to return the screenshots via Photon. Default false.
+ * @type bool $template Whether to return the slug of the parent theme. Default false.
+ * @type bool $parent Whether to return the slug, name and homepage of the parent theme. Default false.
+ * @type bool $versions Whether to return the list of all available versions. Default false.
+ * @type bool $theme_url Whether to return theme's URL. Default false.
+ * @type bool $extended_author Whether to return nicename or nicename and display name. Default false.
+ * }
+ * }
+ * @return object|array|WP_Error Response object or array on success, WP_Error on failure. See the
+ * {@link https://developer.wordpress.org/reference/functions/themes_api/ function reference article}
+ * for more information on the make-up of possible return objects depending on the value of `$action`.