In order to make the shipping address not required, you would need to make the products in the order be non-shipping products.
The billing address will always be required. Unfortunately, the mass majority of use cases that our clients have require that this be available - if for no other reason, customer service activities.
If your use case really doesn't require a billing address, you might try one of the following:
- Hide the billing address (don't remove it) and fill it in using logic in your custom viewset.
- Hide the billing address (don't remove it), auto-populate addresses into your customer's address book, then automatically choose an address from the address book.