import http.client import json conn = http.client.HTTPSConnection("api.swep.net") payload = json.dumps({ "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}" }) headers = { 'x-api-key': 'YOUR_API_KEY', 'Content-Type': 'application/json' } conn.request("POST", "/graphql", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))