var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://api.swep.net/graphql");
request.Headers.Add("x-api-key", "YOUR_API_KEY");
var content = new StringContent("{\r\n  \"query\": \"query Calculate() {\\r\\n  calculateSinglePhase(request: {\\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: 50,\\r\\n        unit: KILOWATT\\r\\n      },\\r\\n      inletTemperatureSide1: {\\r\\n        amount: 80,\\r\\n        unit: DEGREE_CELSIUS\\r\\n      },\\r\\n      inletTemperatureSide2: {\\r\\n        amount: 20,\\r\\n        unit: DEGREE_CELSIUS\\r\\n      },\\r\\n      outletTemperatureSide1: {\\r\\n        amount: 40,\\r\\n        unit: DEGREE_CELSIUS\\r\\n      },\\r\\n      outletTemperatureSide2: {\\r\\n        amount: 50,\\r\\n        unit: DEGREE_CELSIUS\\r\\n      },\\r\\n      flowSide1: null,\\r\\n      flowSide2: null,\\r\\n      maxPressureDropSide1: {\\r\\n        amount: 20000,\\r\\n        unit: PASCAL\\r\\n      },\\r\\n      maxPressureDropSide2: {\\r\\n        amount: 20000,\\r\\n        unit: 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  }) {\\r\\n  res : calculationResult {\\r\\n    hesNewName : calculatedHeatExchangers  {\\r\\n      he :calculatedHeatExchanger {\\r\\n        modelName,\\r\\n        xpc {\\r\\n          class, type, size, material, subtype, execution, pressure\\r\\n        }\\r\\n      },\\r\\n      out:calculationOutputValues {\\r\\n        pressureDropSide2 {\\r\\n          amount\\r\\n        },\\r\\n        pressureDropSide1 {\\r\\n          amount\\r\\n        },\\r\\n        overSurface {\\r\\n          amount\\r\\n        },\\r\\n        portDiameter1 {\\r\\n          amount\\r\\n        }\\r\\n      }\\r\\n    }\\r\\n  }\\r\\n}\\r\\n}\"\r\n}", null, "application/json");
request.Content = content;
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());