I'm trying to use /admin/api/2021-04/orders.json to find the orders that are ready to be shipped. However, I got confused when I look at the API. There is status that has open, close, cancelled, and any. Also, there is financial_status and fulfillment_status. I also found confirmed which I don't know what is it for.
You want to pay attention to status and fulfillment status. First off, you probably only want to examine orders that are open. Why bother with closed or canceled ones. Second, since you care about orders ready to be shipped, you want the fulfillment_status as unshipped. You can probably ignore financial status, although if you ship an unpaid order, that might seem a bit odd.
So what exactly confused you? Note too, the GraphQL uses the same filters as the RestAPI even though that seems really not right nor normal. So you setup using GQL but use the RestAPI for your actual filter values.