400: Bad Request

You have the grant_type correct for the authorization code flow. Could you share your code that you use to make the POST? There are lots of reasons why you might be getting a 400 returned.