OkHttpClient client = new OkHttpClient().newBuilder() .build(); MediaType mediaType = MediaType.parse("application/json"); RequestBody body = RequestBody.create(mediaType, "{\r\n \"inputs\": {\r\n \"calculationMethod\": \"Design\",\r\n \"selectedFluidSide1\": {\r\n \"fluidId\": 53,\r\n \"isGas\": false,\r\n \"inputValue\": null\r\n },\r\n \"selectedFluidSide2\": {\r\n \"fluidId\": 53,\r\n \"isGas\": false,\r\n \"inputValue\": null\r\n },\r\n \"coCurrent\": false,\r\n \"selectedHeatExchangers\": [\r\n {\r\n \"heatExchangerInputType\": \"Parent\",\r\n \"id\": 1\r\n }\r\n ],\r\n \"heatLoad\": {\r\n \"amount\": 1500,\r\n \"unit\": \"HeatLoadUnit.Kilowatt\"\r\n },\r\n \"inletTemperatureSide1\": {\r\n \"amount\": 80,\r\n \"unit\": \"TemperatureUnit.DegreeCelsius\"\r\n },\r\n \"inletTemperatureSide2\": {\r\n \"amount\": 20,\r\n \"unit\": \"TemperatureUnit.DegreeCelsius\"\r\n },\r\n \"outletTemperatureSide1\": {\r\n \"amount\": 40,\r\n \"unit\": \"TemperatureUnit.DegreeCelsius\"\r\n },\r\n \"outletTemperatureSide2\": {\r\n \"amount\": 50,\r\n \"unit\": \"TemperatureUnit.DegreeCelsius\"\r\n },\r\n \"flowSide1\": null,\r\n \"flowSide2\": null,\r\n \"maxPressureDropSide1\": {\r\n \"amount\": 20000,\r\n \"unit\": \"PressureUnit.Pascal\"\r\n },\r\n \"maxPressureDropSide2\": {\r\n \"amount\": 20000,\r\n \"unit\": \"PressureUnit.Pascal\"\r\n },\r\n \"numberOfPasses\": null,\r\n \"numberOfPlates\": null,\r\n \"numberOfPlatesStack1\": null,\r\n \"numberOfPlatesStack2\": null,\r\n \"oversurface\": null,\r\n \"portSwitch\": true,\r\n \"autoperformance\": false\r\n }\r\n}"); Request request = new Request.Builder() .url("https://api.swep.net/calculateSinglePhase") .method("POST", body) .addHeader("X-API-KEY", "YOUR_API_KEY") .addHeader("Content-Type", "application/json") .build(); Response response = client.newCall(request).execute();