We're trying to implement the fulfillmentOrderCancel mutation (https://shopify.dev/docs/admin-api/graphql/reference/shipping-and-fulfillment/fulfillmentordercancel) in our system so our clients can cancel orders through our system and see the fulfillment request cancelled in Shopify. We've given ourselves the required scopes ("read_merchant_managed_fulfillment_orders", "write_merchant_managed_fulfillment_orders"), but the API returns the following error message when we try to cancel a fulfillment order.
"Fulfillment order is not in cancelable request state and can't be cancelled."
I read through the API documentation and can't find any details on what is a valid request state for cancellation so I don't know what to do with this error. Is there any documentation that could explain how to use this mutation? Our goal is to reflect that an order was cancelled in our 3PL system by cancelling the fulfillment order in Shopify. If there is any validation on Shopify that could prevent this request from going through, we'd like to know what that validation is.