use urllib instead `Requests`

POST with json data

json_as_bytes = json.dumps(payload).encode("utf-8")
request_object = request.Request(self.api_url, data=json_as_bytes)
request_object.add_header("Content-Type", "application/json")
request_object.add_header("Authorization", f"Bearer {self.token}")
try:
    with request.urlopen(request_object) as response:
        res_json = json.loads(response.read())
except HTTPError as e:
    _logger.exception(e.code)
    _logger.exception(e.read())
    raise e

See Also: urllib2 doc