Ensure you’re getting the correct type of token. If you’re using the Client Credentials flow this will generate an App token, which does not represent a user and so can not have scopes on it and can not use endpoints that require scopes (there are some exceptions but they are not important here).
If you’re doing this server-side, you’ll likely want to use the Authorization Code flow, or if you’re doing this client-side the Implicit flow. Make sure to also request the channel:edit:commercial scope as that’s required to start a commercial.
You can verify this is the correct token by using the Validate Token endpoint. If it is a User token you’ll see the user id and the scopes among other things. If you’ve generated an App token the validate endpoint will not return any user id and so will not work for what you’re trying to do.