WordPress REST API won’t allow me to filter by author ID when called internally, works externally in Postman

My approach to this was wrong, and I didn’t understand the error properly. After taking another look at this, I was able to fix it by replacing this code:

if($request->get_param('id')){
    // $author = $request->get_param('author');
    $podcastsRequest = new WP_REST_Request( 'GET', '/wp/v2/podcasts?author=1');
    $articlesRequest = new WP_REST_Request( 'GET', '/wp/v2/articles?author=1');
    $webinarsRequest = new WP_REST_Request( 'GET', '/wp/v2/webinars?author=1');
    $expertInterviewsRequest = new WP_REST_Request( 'GET', '/wp/v2/expert-interviews?author=1');
    $guidesRequest = new WP_REST_Request( 'GET', '/wp/v2/guides?author=1');
} else {
    $podcastsRequest = new WP_REST_Request( 'GET', '/wp/v2/podcasts?author=1' );
    $articlesRequest = new WP_REST_Request( 'GET', '/wp/v2/articles?author=1' );
    $webinarsRequest = new WP_REST_Request( 'GET', '/wp/v2/webinars?author=1' );
    $expertInterviewsRequest = new WP_REST_Request( 'GET', '/wp/v2/expert-interviews?author=1' );
    $guidesRequest = new WP_REST_Request( 'GET', '/wp/v2/guides?author=1' );
}

with this code:

if($request->get_param('author')){
    $author = $request->get_param('author');

    $podcastsRequest = new WP_REST_Request( 'GET', '/wp/v2/podcasts');
    $podcastsRequest->set_query_params( array( 'author' => $author ));

    $articlesRequest = new WP_REST_Request( 'GET', '/wp/v2/articles');
    $articlesRequest->set_query_params( array( 'author' => $author ));

    $webinarsRequest = new WP_REST_Request( 'GET', '/wp/v2/webinars');
    $webinarsRequest->set_query_params( array( 'author' => $author ));

    $expertInterviewsRequest = new WP_REST_Request( 'GET', '/wp/v2/expert-interviews');
    $expertInterviewsRequest->set_query_params( array( 'author' => $author ));

    $guidesRequest = new WP_REST_Request( 'GET', '/wp/v2/guides');
    $guidesRequest->set_query_params( array( 'author' => $author ));
} else {
    $podcastsRequest = new WP_REST_Request( 'GET', '/wp/v2/podcasts');
    $articlesRequest = new WP_REST_Request( 'GET', '/wp/v2/articles');
    $webinarsRequest = new WP_REST_Request( 'GET', '/wp/v2/webinars');
    $expertInterviewsRequest = new WP_REST_Request( 'GET', '/wp/v2/expert-interviews');
    $guidesRequest = new WP_REST_Request( 'GET', '/wp/v2/guides');
}

This now works as the API endpoint isn’t directly set up to match additional parameters on itself, however passing them through with set_query_params() did the job!