Every time I try the post request I get a 400 error but the JSON and URL are identical to those that I used on an online API tester and it worked every time there. I am running this program in the official Arduino IDE and most of this code was taken from the ESP8266 official library here: https://github.com/esp8266/Arduino/blob/master/libraries/ESP8266HTTPClient/src/ESP8266HTTPClient.h
if (http.begin(client, host)) { // HTTP
http.addHeader("Content-Type", "application/json");
// Serial.print("[HTTP] GET...\n");
// start connection and send HTTP header
// int httpCode = http.GET();
String request = "{ \"temperature\": 27.0, \"humidity\": 43 }";
Serial.print("[HTTP] POST...\n");
int httpCode = http.POST(request);
host
?host
in sketch