I'm trying to access the checkouts.json endpoints through my private app using the API. However, I'm receiving the following error -
This action requires merchant approval for write_checkouts scope.
There doesn't seem to be a way of changing the checkouts scope (only checkout_settings) through my private app. Does this mean I need to set up a public app (& as a sales channel) to access these endpoints? I'm just trying to update the cart line items remotely.
The read/write checkouts endpoints are exclusive to public sales channel apps. Public is a loose way to define these apps though, as you don't actually have to publish it to the app store to use it for your own purposes.
Once you've created the app in your partner dashboard, there will be an extensions tab you can navigate to. Once there, you can classify your app as a sales channel and you'll then be able to request the read/write checkouts scopes.
You could also consider making use of the storefront api if it suits your needs.