openapi: 3.2.0 info: title: Gridx Ai EV Profile API version: 2.0.0 contact: name: gridX url: https://www.gridx.ai/module/api email: developer-community@gridx.de license: name: All rights reserved. url: https://www.gridx.ai/ x-api-id: ba9d6a25-ae1a-4ac8-af7a-70b76db17021 x-audience: public-external description: 'Operations tagged EV Profile across 2 of this provider''s published API definitions: gridx-api.json, gridx-ai-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - url: https://api.gridx.de description: Production tags: - name: EV Profile x-displayName: EV Profile paths: /systems/{systemID}/ev-profiles: get: operationId: listSystemEVProfiles summary: List available EV profiles description: Lists EV profiles that belong the the specified system. tags: - EV Profile security: - HeaderAuth: - EVProfilesRead parameters: - name: systemID description: 'Unique identifier used to access a system. ' in: path required: true schema: type: string format: uuid example: aa3e5a93-bb38-4b15-b7f2-af40daf3a1dc responses: '200': description: Available EV profiles. content: application/vnd.gridx.v2+json: schema: type: array items: allOf: - title: ElectricVehicleProfile description: Represents data related to an EV Profile. type: object properties: name: type: string description: Name of the EV profile. example: My profile manufacturer: type: string description: The manufacturer of the EV. example: Tesla model: type: string description: The model of the EV (manufacturer-dependent). example: Model-3 color: type: string description: The color of the EV. example: red capacity: type: number description: Battery capacity of the EV in Wh. example: 12000 averageConsumption: type: number description: The average consumption of the EV provided in Wh/100km. example: 30000 phasesCount: type: number format: int64 description: The number of phases used for charging the EV (range 1-3). example: 1 minChargePower: description: "The minimum total power that the EV should be charged with in Watt. \n\nIf the EV Profile is assigned to a charging station, this configuration will be applied, \notherwise, the [EV Charging Station Configuration](https://developer.gridx.ai/reference/get_gateways-gatewayid-appliances-applianceid-ev-configuration) will be used.\n" type: number format: double example: 8000 userSoc: description: "The State of Charge (SoC) level read and set by the user for the connected EV.\nThis should be the SoC at the moment the EV is plugged, as the EMS extrapolates the currently estimated SoC \nduring the charging session from this value onwards.\nThis parameter can not be used to update the current SoC of an EV while a charging session is already \nongoing as this would lead to SoC misestimations.\n\nThis is needed in cases where the SoC cannot be determined automatically.\nValue is between 0.0 - 100.0 in %.\nIf the EV Profile is assigned to a charging station, this configuration will be applied,\notherwise, the [EV Charging Station Configuration](https://developer.gridx.ai/reference/get_gateways-gatewayid-appliances-applianceid-ev-configuration) will be used.\n" type: number format: double minimum: 0 maximum: 100 example: 50 image: description: Image to be used when displaying the EV profile in base64 encoding. Format must be `jpeg` or `png`. type: string example: data:image/jpeg;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== minChargePowerPerPhase: type: number description: Defines the minimum charge power in W for one phase set by the user. example: 2070 minRequestedSoc: type: number description: The minimum state of charge the EV shall have and keep to guarantee the range for the next usage. This is set by the user. The value ranges from 0.0 - 100.0 in %. example: 70 zeroLockDuration: type: integer format: int32 minimum: 0 maximum: 2147483647 description: Defines how long the EV is limited to zero charging power after an initial zero limit is issued. Given in seconds. phaseSwitchFeatureEnabled: type: boolean description: Defines whether the phase switch feature is enabled. x-readme-ref-name: AbstractElectricVehicleProfile - properties: id: type: string format: uuid description: Unique identifier of an EV profile. example: 51c0c70f-dfcc-4520-b535-0ecc44c75e12 systemID: description: Unique identifier of the system that this EV profile belongs to. type: string format: uuid example: 938b84d9-17e9-44e5-b422-4fb95ea3550b createdAt: type: string format: date-time readOnly: true description: Date when the EV profile was created in UTC using the RFC3339 format. example: '2022-11-10T23:20:50Z' updatedAt: type: string format: date-time readOnly: true description: Date when the EV profile was updated the last time in UTC using the RFC3339 format. example: '2022-11-12T23:20:50Z' chargingStationApplianceIDs: readOnly: true title: ChargingStationApplianceIDs description: 'ChargingStationApplianceIDs represents the charging station appliances the EV is assigned to. ' type: array items: type: string format: uuid example: - 6dd0a658-5828-4d30-bc65-a03c6d6e425f - e3bb9553-78a6-4f4f-98d5-5c5f9012251d required: - id - systemID - createdAt - updatedAt x-readme-ref-name: ElectricVehicleProfile '403': description: Forbidden. content: application/vnd.gridx.v2+json: schema: readOnly: true allOf: - title: General Exception description: Represents a general error structure returned by our REST API. type: object properties: message: type: string description: Message represents the message reported to the user. details: type: array description: 'Details represents detail information for the user to fix this problem ' items: type: string required: - message x-readme-ref-name: GeneralException - title: UnauthorizedError - Forbidden Error description: Forbidden Error example: message: Bad credentials x-readme-ref-name: ForbiddenException '404': description: Requested entity not found. content: application/vnd.gridx.v2+json: schema: readOnly: true allOf: - title: General Exception description: Represents a general error structure returned by our REST API. type: object properties: message: type: string description: Message represents the message reported to the user. details: type: array description: 'Details represents detail information for the user to fix this problem ' items: type: string required: - message x-readme-ref-name: GeneralException - title: ClientError - Not Found description: Not Found indicates that the entity was not found. example: message: Not Found x-readme-ref-name: NotFoundException '500': description: There has been an internal error on our side. We're looking into it. content: application/vnd.gridx.v2+json: schema: readOnly: true allOf: - title: General Exception description: Represents a general error structure returned by our REST API. type: object properties: message: type: string description: Message represents the message reported to the user. details: type: array description: 'Details represents detail information for the user to fix this problem ' items: type: string required: - message x-readme-ref-name: GeneralException - title: ServerSideError - Internal Server Error description: Internal Server Error example: message: Internal Server Error x-readme-ref-name: InternalException x-code-samples: - lang: python label: Python source: 'import requests url = "https://api.gridx.de/systems/systemID/ev-profiles" headers = {"accept": "application/vnd.gridx.v2+json"} response = requests.get(url, headers=headers) print(response.text)' - lang: shell label: Shell source: "curl --request GET \\\n --url https://api.gridx.de/systems/systemID/ev-profiles \\\n --header 'accept: application/vnd.gridx.v2+json'" - lang: go label: Go source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io\"\n)\n\nfunc main() {\n\n\turl := \"https://api.gridx.de/systems/systemID/ev-profiles\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"accept\", \"application/vnd.gridx.v2+json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := io.ReadAll(res.Body)\n\n\tfmt.Println(string(body))\n\n}" - lang: javascript label: Javascript source: "const options = {method: 'GET', headers: {accept: 'application/vnd.gridx.v2+json'}};\n\nfetch('https://api.gridx.de/systems/systemID/ev-profiles', options)\n .then(res => res.json())\n .then(res => console.log(res))\n .catch(err => console.error(err));" - lang: java label: Java source: "OkHttpClient client = new OkHttpClient();\n\nRequest request = new Request.Builder()\n .url(\"https://api.gridx.de/systems/systemID/ev-profiles\")\n .get()\n .addHeader(\"accept\", \"application/vnd.gridx.v2+json\")\n .build();\n\nResponse response = client.newCall(request).execute();" - lang: java label: Kotlin source: "val client = OkHttpClient()\n\nval request = Request.Builder()\n .url(\"https://api.gridx.de/systems/systemID/ev-profiles\")\n .get()\n .addHeader(\"accept\", \"application/vnd.gridx.v2+json\")\n .build()\n\nval response = client.newCall(request).execute()" - lang: javascript label: Swift source: 'import Foundation let url = URL(string: "https://api.gridx.de/systems/systemID/ev-profiles")! var request = URLRequest(url: url) request.httpMethod = "GET" request.timeoutInterval = 10 request.allHTTPHeaderFields = ["accept": "application/vnd.gridx.v2+json"] let (data, _) = try await URLSession.shared.data(for: request) print(String(decoding: data, as: UTF8.self))' - lang: csharp label: C# source: 'using RestSharp; var options = new RestClientOptions("https://api.gridx.de/systems/systemID/ev-profiles"); var client = new RestClient(options); var request = new RestRequest(""); request.AddHeader("accept", "application/vnd.gridx.v2+json"); var response = await client.GetAsync(request); Console.WriteLine("{0}", response.Content); ' post: operationId: createSystemEVProfile summary: Create a new EV profile description: Creates an EV profile. tags: - EV Profile security: - HeaderAuth: - EVProfilesWrite parameters: - name: systemID description: 'Unique identifier used to access a system. ' in: path required: true schema: type: string format: uuid example: aa3e5a93-bb38-4b15-b7f2-af40daf3a1dc requestBody: description: EV profile to be created. required: true content: application/json: schema: allOf: - allOf: - title: ElectricVehicleProfile description: Represents data related to an EV Profile. type: object properties: name: type: string description: Name of the EV profile. example: My profile manufacturer: type: string description: The manufacturer of the EV. example: Tesla model: type: string description: The model of the EV (manufacturer-dependent). example: Model-3 color: type: string description: The color of the EV. example: red capacity: type: number description: Battery capacity of the EV in Wh. example: 12000 averageConsumption: type: number description: The average consumption of the EV provided in Wh/100km. example: 30000 phasesCount: type: number format: int64 description: The number of phases used for charging the EV (range 1-3). example: 1 minChargePower: description: "The minimum total power that the EV should be charged with in Watt. \n\nIf the EV Profile is assigned to a charging station, this configuration will be applied, \notherwise, the [EV Charging Station Configuration](https://developer.gridx.ai/reference/get_gateways-gatewayid-appliances-applianceid-ev-configuration) will be used.\n" type: number format: double example: 8000 userSoc: description: "The State of Charge (SoC) level read and set by the user for the connected EV.\nThis should be the SoC at the moment the EV is plugged, as the EMS extrapolates the currently estimated SoC \nduring the charging session from this value onwards.\nThis parameter can not be used to update the current SoC of an EV while a charging session is already \nongoing as this would lead to SoC misestimations.\n\nThis is needed in cases where the SoC cannot be determined automatically.\nValue is between 0.0 - 100.0 in %.\nIf the EV Profile is assigned to a charging station, this configuration will be applied,\notherwise, the [EV Charging Station Configuration](https://developer.gridx.ai/reference/get_gateways-gatewayid-appliances-applianceid-ev-configuration) will be used.\n" type: number format: double minimum: 0 maximum: 100 example: 50 image: description: Image to be used when displaying the EV profile in base64 encoding. Format must be `jpeg` or `png`. type: string example: data:image/jpeg;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== minChargePowerPerPhase: type: number description: Defines the minimum charge power in W for one phase set by the user. example: 2070 minRequestedSoc: type: number description: The minimum state of charge the EV shall have and keep to guarantee the range for the next usage. This is set by the user. The value ranges from 0.0 - 100.0 in %. example: 70 zeroLockDuration: type: integer format: int32 minimum: 0 maximum: 2147483647 description: Defines how long the EV is limited to zero charging power after an initial zero limit is issued. Given in seconds. phaseSwitchFeatureEnabled: type: boolean description: Defines whether the phase switch feature is enabled. x-readme-ref-name: AbstractElectricVehicleProfile - properties: id: type: string format: uuid description: Unique identifier of an EV profile. example: 51c0c70f-dfcc-4520-b535-0ecc44c75e12 x-readme-ref-name: ElectricVehicleProfileCreate - additionalProperties: false x-readme-ref-name: ElectricVehicleProfileCreateStrict responses: '201': description: Created EV profile. content: application/vnd.gridx.v2+json: schema: allOf: - title: ElectricVehicleProfile description: Represents data related to an EV Profile. type: object properties: name: type: string description: Name of the EV profile. example: My profile manufacturer: type: string description: The manufacturer of the EV. example: Tesla model: type: string description: The model of the EV (manufacturer-dependent). example: Model-3 color: type: string description: The color of the EV. example: red capacity: type: number description: Battery capacity of the EV in Wh. example: 12000 averageConsumption: type: number description: The average consumption of the EV provided in Wh/100km. example: 30000 phasesCount: type: number format: int64 description: The number of phases used for charging the EV (range 1-3). example: 1 minChargePower: description: "The minimum total power that the EV should be charged with in Watt. \n\nIf the EV Profile is assigned to a charging station, this configuration will be applied, \notherwise, the [EV Charging Station Configuration](https://developer.gridx.ai/reference/get_gateways-gatewayid-appliances-applianceid-ev-configuration) will be used.\n" type: number format: double example: 8000 userSoc: description: "The State of Charge (SoC) level read and set by the user for the connected EV.\nThis should be the SoC at the moment the EV is plugged, as the EMS extrapolates the currently estimated SoC \nduring the charging session from this value onwards.\nThis parameter can not be used to update the current SoC of an EV while a charging session is already \nongoing as this would lead to SoC misestimations.\n\nThis is needed in cases where the SoC cannot be determined automatically.\nValue is between 0.0 - 100.0 in %.\nIf the EV Profile is assigned to a charging station, this configuration will be applied,\notherwise, the [EV Charging Station Configuration](https://developer.gridx.ai/reference/get_gateways-gatewayid-appliances-applianceid-ev-configuration) will be used.\n" type: number format: double minimum: 0 maximum: 100 example: 50 image: description: Image to be used when displaying the EV profile in base64 encoding. Format must be `jpeg` or `png`. type: string example: data:image/jpeg;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== minChargePowerPerPhase: type: number description: Defines the minimum charge power in W for one phase set by the user. example: 2070 minRequestedSoc: type: number description: The minimum state of charge the EV shall have and keep to guarantee the range for the next usage. This is set by the user. The value ranges from 0.0 - 100.0 in %. example: 70 zeroLockDuration: type: integer format: int32 minimum: 0 maximum: 2147483647 description: Defines how long the EV is limited to zero charging power after an initial zero limit is issued. Given in seconds. phaseSwitchFeatureEnabled: type: boolean description: Defines whether the phase switch feature is enabled. x-readme-ref-name: AbstractElectricVehicleProfile - properties: id: type: string format: uuid description: Unique identifier of an EV profile. example: 51c0c70f-dfcc-4520-b535-0ecc44c75e12 systemID: description: Unique identifier of the system that this EV profile belongs to. type: string format: uuid example: 938b84d9-17e9-44e5-b422-4fb95ea3550b createdAt: type: string format: date-time readOnly: true description: Date when the EV profile was created in UTC using the RFC3339 format. example: '2022-11-10T23:20:50Z' updatedAt: type: string format: date-time readOnly: true description: Date when the EV profile was updated the last time in UTC using the RFC3339 format. example: '2022-11-12T23:20:50Z' chargingStationApplianceIDs: readOnly: true title: ChargingStationApplianceIDs description: 'ChargingStationApplianceIDs represents the charging station appliances the EV is assigned to. ' type: array items: type: string format: uuid example: - 6dd0a658-5828-4d30-bc65-a03c6d6e425f - e3bb9553-78a6-4f4f-98d5-5c5f9012251d required: - id - systemID - createdAt - updatedAt x-readme-ref-name: ElectricVehicleProfile '403': description: Forbidden. content: application/vnd.gridx.v2+json: schema: readOnly: true allOf: - title: General Exception description: Represents a general error structure returned by our REST API. type: object properties: message: type: string description: Message represents the message reported to the user. details: type: array description: 'Details represents detail information for the user to fix this problem ' items: type: string required: - message x-readme-ref-name: GeneralException - title: UnauthorizedError - Forbidden Error description: Forbidden Error example: message: Bad credentials x-readme-ref-name: ForbiddenException '404': description: Requested entity not found. content: application/vnd.gridx.v2+json: schema: readOnly: true allOf: - title: General Exception description: Represents a general error structure returned by our REST API. type: object properties: message: type: string description: Message represents the message reported to the user. details: type: array description: 'Details represents detail information for the user to fix this problem ' items: type: string required: - message x-readme-ref-name: GeneralException - title: ClientError - Not Found description: Not Found indicates that the entity was not found. example: message: Not Found x-readme-ref-name: NotFoundException '500': description: There has been an internal error on our side. We're looking into it. content: application/vnd.gridx.v2+json: schema: readOnly: true allOf: - title: General Exception description: Represents a general error structure returned by our REST API. type: object properties: message: type: string description: Message represents the message reported to the user. details: type: array description: 'Details represents detail information for the user to fix this problem ' items: type: string required: - message x-readme-ref-name: GeneralException - title: ServerSideError - Internal Server Error description: Internal Server Error example: message: Internal Server Error x-readme-ref-name: InternalException x-code-samples: - lang: python label: Python source: "import requests\n\nurl = \"https://api.gridx.de/systems/systemID/ev-profiles\"\n\nheaders = {\n \"accept\": \"application/vnd.gridx.v2+json\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.post(url, headers=headers)\n\nprint(response.text)" - lang: shell label: Shell source: "curl --request POST \\\n --url https://api.gridx.de/systems/systemID/ev-profiles \\\n --header 'accept: application/vnd.gridx.v2+json' \\\n --header 'content-type: application/json'" - lang: go label: Go source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io\"\n)\n\nfunc main() {\n\n\turl := \"https://api.gridx.de/systems/systemID/ev-profiles\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"accept\", \"application/vnd.gridx.v2+json\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := io.ReadAll(res.Body)\n\n\tfmt.Println(string(body))\n\n}" - lang: javascript label: Javascript source: "const options = {\n method: 'POST',\n headers: {accept: 'application/vnd.gridx.v2+json', 'content-type': 'application/json'}\n};\n\nfetch('https://api.gridx.de/systems/systemID/ev-profiles', options)\n .then(res => res.json())\n .then(res => console.log(res))\n .catch(err => console.error(err));" - lang: java label: Java source: "OkHttpClient client = new OkHttpClient();\n\nRequest request = new Request.Builder()\n .url(\"https://api.gridx.de/systems/systemID/ev-profiles\")\n .post(null)\n .addHeader(\"accept\", \"application/vnd.gridx.v2+json\")\n .addHeader(\"content-type\", \"application/json\")\n .build();\n\nResponse response = client.newCall(request).execute();" - lang: java label: Kotlin source: "val client = OkHttpClient()\n\nval request = Request.Builder()\n .url(\"https://api.gridx.de/systems/systemID/ev-profiles\")\n .post(null)\n .addHeader(\"accept\", \"application/vnd.gridx.v2+json\")\n .addHeader(\"content-type\", \"application/json\")\n .build()\n\nval response = client.newCall(request).execute()" - lang: javascript label: Swift source: "import Foundation\n\nlet url = URL(string: \"https://api.gridx.de/systems/systemID/ev-profiles\")!\nvar request = URLRequest(url: url)\nrequest.httpMethod = \"POST\"\nrequest.timeoutInterval = 10\nrequest.allHTTPHeaderFields = [\n \"accept\": \"application/vnd.gridx.v2+json\",\n \"content-type\": \"application/json\"\n]\n\nlet (data, _) = try await URLSession.shared.data(for: request)\nprint(String(decoding: data, as: UTF8.self))" - lang: csharp label: C# source: 'using RestSharp; var options = new RestClientOptions("https://api.gridx.de/systems/systemID/ev-profiles"); var client = new RestClient(options); var request = new RestRequest(""); request.AddHeader("accept", "application/vnd.gridx.v2+json"); request.AddHeader("content-type", "application/json"); var response = await client.PostAsync(request); Console.WriteLine("{0}", response.Content); ' servers: - url: https://api.gridx.de description: Production /systems/{systemID}/ev-profiles/{evProfileID}: get: operationId: getSystemEVProfile summary: Retrieve an EV profile description: Retrieve an EV profile that belong the the specified system. tags: - EV Profile security: - HeaderAuth: - EVProfilesRead parameters: - name: systemID description: 'Unique identifier used to access a system. ' in: path required: true schema: type: string format: uuid example: aa3e5a93-bb38-4b15-b7f2-af40daf3a1dc - name: evProfileID description: Unique identifier for an EV profile. in: path required: true schema: type: string format: uuid example: d4498841-1404-46f6-8086-7cc8bbdf98d3 responses: '200': description: EV profile. content: application/vnd.gridx.v2+json: schema: allOf: - title: ElectricVehicleProfile description: Represents data related to an EV Profile. type: object properties: name: type: string description: Name of the EV profile. example: My profile manufacturer: type: string description: The manufacturer of the EV. example: Tesla model: type: string description: The model of the EV (manufacturer-dependent). example: Model-3 color: type: string description: The color of the EV. example: red capacity: type: number description: Battery capacity of the EV in Wh. example: 12000 averageConsumption: type: number description: The average consumption of the EV provided in Wh/100km. example: 30000 phasesCount: type: number format: int64 description: The number of phases used for charging the EV (range 1-3). example: 1 minChargePower: description: "The minimum total power that the EV should be charged with in Watt. \n\nIf the EV Profile is assigned to a charging station, this configuration will be applied, \notherwise, the [EV Charging Station Configuration](https://developer.gridx.ai/reference/get_gateways-gatewayid-appliances-applianceid-ev-configuration) will be used.\n" type: number format: double example: 8000 userSoc: description: "The State of Charge (SoC) level read and set by the user for the connected EV.\nThis should be the SoC at the moment the EV is plugged, as the EMS extrapolates the currently estimated SoC \nduring the charging session from this value onwards.\nThis parameter can not be used to update the current SoC of an EV while a charging session is already \nongoing as this would lead to SoC misestimations.\n\nThis is needed in cases where the SoC cannot be determined automatically.\nValue is between 0.0 - 100.0 in %.\nIf the EV Profile is assigned to a charging station, this configuration will be applied,\notherwise, the [EV Charging Station Configuration](https://developer.gridx.ai/reference/get_gateways-gatewayid-appliances-applianceid-ev-configuration) will be used.\n" type: number format: double minimum: 0 maximum: 100 example: 50 image: description: Image to be used when displaying the EV profile in base64 encoding. Format must be `jpeg` or `png`. type: string example: data:image/jpeg;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== minChargePowerPerPhase: type: number description: Defines the minimum charge power in W for one phase set by the user. example: 2070 minRequestedSoc: type: number description: The minimum state of charge the EV shall have and keep to guarantee the range for the next usage. This is set by the user. The value ranges from 0.0 - 100.0 in %. example: 70 zeroLockDuration: type: integer format: int32 minimum: 0 maximum: 2147483647 description: Defines how long the EV is limited to zero charging power after an initial zero limit is issued. Given in seconds. phaseSwitchFeatureEnabled: type: boolean description: Defines whether the phase switch feature is enabled. x-readme-ref-name: AbstractElectricVehicleProfile - properties: id: type: string format: uuid description: Unique identifier of an EV profile. example: 51c0c70f-dfcc-4520-b535-0ecc44c75e12 systemID: description: Unique identifier of the system that this EV profile belongs to. type: string format: uuid example: 938b84d9-17e9-44e5-b422-4fb95ea3550b createdAt: type: string format: date-time readOnly: true description: Date when the EV profile was created in UTC using the RFC3339 format. example: '2022-11-10T23:20:50Z' updatedAt: type: string format: date-time readOnly: true description: Date when the EV profile was updated the last time in UTC using the RFC3339 format. example: '2022-11-12T23:20:50Z' chargingStationApplianceIDs: readOnly: true title: ChargingStationApplianceIDs description: 'ChargingStationApplianceIDs represents the charging station appliances the EV is assigned to. ' type: array items: type: string format: uuid example: - 6dd0a658-5828-4d30-bc65-a03c6d6e425f - e3bb9553-78a6-4f4f-98d5-5c5f9012251d required: - id - systemID - createdAt - updatedAt x-readme-ref-name: ElectricVehicleProfile '403': description: Forbidden. content: application/vnd.gridx.v2+json: schema: readOnly: true allOf: - title: General Exception description: Represents a general error structure returned by our REST API. type: object properties: message: type: string description: Message represents the message reported to the user. details: type: array description: 'Details represents detail information for the user to fix this problem ' items: type: string required: - message x-readme-ref-name: GeneralException - title: UnauthorizedError - Forbidden Error description: Forbidden Error example: message: Bad credentials x-readme-ref-name: ForbiddenException '404': description: Requested entity not found. content: application/vnd.gridx.v2+json: schema: readOnly: true allOf: - title: General Exception description: Represents a general error structure returned by our REST API. type: object properties: message: type: string description: Message represents the message reported to the user. details: type: array description: 'Details represents detail information for the user to fix this problem ' items: type: string required: - message x-readme-ref-name: GeneralException - title: ClientError - Not Found description: Not Found indicates that the entity was not found. example: message: Not Found x-readme-ref-name: NotFoundException '500': description: There has been an internal error on our side. We're looking into it. content: application/vnd.gridx.v2+json: schema: readOnly: true allOf: - title: General Exception description: Represents a general error structure returned by our REST API. type: object properties: message: type: string description: Message represents the message reported to the user. details: type: array description: 'Details represents detail information for the user to fix this problem ' items: type: string required: - message x-readme-ref-name: GeneralException - title: ServerSideError - Internal Server Error description: Internal Server Error example: message: Internal Server Error x-readme-ref-name: InternalException x-code-samples: - lang: python label: Python source: 'import requests url = "https://api.gridx.de/systems/systemID/ev-profiles/evProfileID" headers = {"accept": "application/vnd.gridx.v2+json"} response = requests.get(url, headers=headers) print(response.text)' - lang: shell label: Shell source: "curl --request GET \\\n --url https://api.gridx.de/systems/systemID/ev-profiles/evProfileID \\\n --header 'accept: application/vnd.gridx.v2+json'" - lang: go label: Go source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io\"\n)\n\nfunc main() {\n\n\turl := \"https://api.gridx.de/systems/systemID/ev-profiles/evProfileID\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"accept\", \"application/vnd.gridx.v2+json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := io.ReadAll(res.Body)\n\n\tfmt.Println(string(body))\n\n}" - lang: javascript label: Javascript source: "const options = {method: 'GET', headers: {accept: 'application/vnd.gridx.v2+json'}};\n\nfetch('https://api.gridx.de/systems/systemID/ev-profiles/evProfileID', options)\n .then(res => res.json())\n .then(res => console.log(res))\n .catch(err => console.error(err));" - lang: java label: Java source: "OkHttpClient client = new OkHttpClient();\n\nRequest request = new Request.Builder()\n .url(\"https://api.gridx.de/systems/systemID/ev-profiles/evProfileID\")\n .get()\n .addHeader(\"accept\", \"application/vnd.gridx.v2+json\")\n .build();\n\nResponse response = client.newCall(request).execute();" - lang: java label: Kotlin source: "val client = OkHttpClient()\n\nval request = Request.Builder()\n .url(\"https://api.gridx.de/systems/systemID/ev-profiles/evProfileID\")\n .get()\n .addHeader(\"accept\", \"application/vnd.gridx.v2+json\")\n .build()\n\nval response = client.newCall(request).execute()" - lang: javascript label: Swift source: 'import Foundation let url = URL(string: "https://api.gridx.de/systems/systemID/ev-profiles/evProfileID")! var request = URLRequest(url: url) request.httpMethod = "GET" request.timeoutInterval = 10 request.allHTTPHeaderFields = ["accept": "application/vnd.gridx.v2+json"] let (data, _) = try await URLSession.shared.data(for: request) print(String(decoding: data, as: UTF8.self))' - lang: csharp label: C# source: 'using RestSharp; var options = new RestClientOptions("https://api.gridx.de/systems/systemID/ev-profiles/evProfileID"); var client = new RestClient(options); var request = new RestRequest(""); request.AddHeader("accept", "application/vnd.gridx.v2+json"); var response = await client.GetAsync(request); Console.WriteLine("{0}", response.Content); ' patch: operationId: updateSystemEVProfile summary: Update an EV profile description: Update an EV profile that belong the the specified system. tags: - EV Profile security: - HeaderAuth: - EVProfilesWrite parameters: - name: systemID description: 'Unique identifier used to access a system. ' in: path required: true schema: type: string format: uuid example: aa3e5a93-bb38-4b15-b7f2-af40daf3a1dc - name: evProfileID description: Unique identifier for an EV profile. in: path required: true schema: type: string format: uuid example: d4498841-1404-46f6-8086-7cc8bbdf98d3 requestBody: description: EV profile to be updated. required: true content: application/json: schema: allOf: - title: ElectricVehicleProfile description: Represents data related to an EV Profile. type: object properties: name: type: string description: Name of the EV profile. example: My profile manufacturer: type: string description: The manufacturer of the EV. example: Tesla model: type: string description: The model of the EV (manufacturer-dependent). example: Model-3 color: type: string description: The color of the EV. example: red capacity: type: number description: Battery capacity of the EV in Wh. example: 12000 averageConsumption: type: number description: The average consumption of the EV provided in Wh/100km. example: 30000 phasesCount: type: number format: int64 description: The number of phases used for charging the EV (range 1-3). example: 1 minChargePower: description: "The minimum total power that the EV should be charged with in Watt. \n\nIf the EV Profile is assigned to a charging station, this configuration will be applied, \notherwise, the [EV Charging Station Configuration](https://developer.gridx.ai/reference/get_gateways-gatewayid-appliances-applianceid-ev-configuration) will be used.\n" type: number format: double example: 8000 userSoc: description: "The State of Charge (SoC) level read and set by the user for the connected EV.\nThis should be the SoC at the moment the EV is plugged, as the EMS extrapolates the currently estimated SoC \nduring the charging session from this value onwards.\nThis parameter can not be used to update the current SoC of an EV while a charging session is already \nongoing as this would lead to SoC misestimations.\n\nThis is needed in cases where the SoC cannot be determined automatically.\nValue is between 0.0 - 100.0 in %.\nIf the EV Profile is assigned to a charging station, this configuration will be applied,\notherwise, the [EV Charging Station Configuration](https://developer.gridx.ai/reference/get_gateways-gatewayid-appliances-applianceid-ev-configuration) will be used.\n" type: number format: double minimum: 0 maximum: 100 example: 50 image: description: Image to be used when displaying the EV profile in base64 encoding. Format must be `jpeg` or `png`. type: string example: data:image/jpeg;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== minChargePowerPerPhase: type: number description: Defines the minimum charge power in W for one phase set by the user. example: 2070 minRequestedSoc: type: number description: The minimum state of charge the EV shall have and keep to guarantee the range for the next usage. This is set by the user. The value ranges from 0.0 - 100.0 in %. example: 70 zeroLockDuration: type: integer format: int32 minimum: 0 maximum: 2147483647 description: Defines how long the EV is limited to zero charging power after an initial zero limit is issued. Given in seconds. phaseSwitchFeatureEnabled: type: boolean description: Defines whether the phase switch feature is enabled. x-readme-ref-name: AbstractElectricVehicleProfile - type: object x-readme-ref-name: ElectricVehicleProfileUpdate responses: '200': description: Returned updated EV profile. content: application/vnd.gridx.v2+json: schema: allOf: - title: ElectricVehicleProfile description: Represents data related to an EV Profile. type: object properties: name: type: string description: Name of the EV profile. example: My profile manufacturer: type: string description: The manufacturer of the EV. example: Tesla model: type: string description: The model of the EV (manufacturer-dependent). example: Model-3 color: type: string description: The color of the EV. example: red capacity: type: number description: Battery capacity of the EV in Wh. example: 12000 averageConsumption: type: number description: The average consumption of the EV provided in Wh/100km. example: 30000 phasesCount: type: number format: int64 description: The number of phases used for charging the EV (range 1-3). example: 1 minChargePower: description: "The minimum total power that the EV should be charged with in Watt. \n\nIf the EV Profile is assigned to a charging station, this configuration will be applied, \notherwise, the [EV Charging Station Configuration](https://developer.gridx.ai/reference/get_gateways-gatewayid-appliances-applianceid-ev-configuration) will be used.\n" type: number format: double example: 8000 userSoc: description: "The State of Charge (SoC) level read and set by the user for the connected EV.\nThis should be the SoC at the moment the EV is plugged, as the EMS extrapolates the currently estimated SoC \nduring the charging session from this value onwards.\nThis parameter can not be used to update the current SoC of an EV while a charging session is already \nongoing as this would lead to SoC misestimations.\n\nThis is needed in cases where the SoC cannot be determined automatically.\nValue is between 0.0 - 100.0 in %.\nIf the EV Profile is assigned to a charging station, this configuration will be applied,\notherwise, the [EV Charging Station Configuration](https://developer.gridx.ai/reference/get_gateways-gatewayid-appliances-applianceid-ev-configuration) will be used.\n" type: number format: double minimum: 0 maximum: 100 example: 50 image: description: Image to be used when displaying the EV profile in base64 encoding. Format must be `jpeg` or `png`. type: string example: data:image/jpeg;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== minChargePowerPerPhase: type: number description: Defines the minimum charge power in W for one phase set by the user. example: 2070 minRequestedSoc: type: number description: The minimum state of charge the EV shall have and keep to guarantee the range for the next usage. This is set by the user. The value ranges from 0.0 - 100.0 in %. example: 70 zeroLockDuration: type: integer format: int32 minimum: 0 maximum: 2147483647 description: Defines how long the EV is limited to zero charging power after an initial zero limit is issued. Given in seconds. phaseSwitchFeatureEnabled: type: boolean description: Defines whether the phase switch feature is enabled. x-readme-ref-name: AbstractElectricVehicleProfile - properties: id: type: string format: uuid description: Unique identifier of an EV profile. example: 51c0c70f-dfcc-4520-b535-0ecc44c75e12 systemID: description: Unique identifier of the system that this EV profile belongs to. type: string format: uuid example: 938b84d9-17e9-44e5-b422-4fb95ea3550b createdAt: type: string format: date-time readOnly: true description: Date when the EV profile was created in UTC using the RFC3339 format. example: '2022-11-10T23:20:50Z' updatedAt: type: string format: date-time readOnly: true description: Date when the EV profile was updated the last time in UTC using the RFC3339 format. example: '2022-11-12T23:20:50Z' chargingStationApplianceIDs: readOnly: true title: ChargingStationApplianceIDs description: 'ChargingStationApplianceIDs represents the charging station appliances the EV is assigned to. ' type: array items: type: string format: uuid example: - 6dd0a658-5828-4d30-bc65-a03c6d6e425f - e3bb9553-78a6-4f4f-98d5-5c5f9012251d required: - id - systemID - createdAt - updatedAt x-readme-ref-name: ElectricVehicleProfile '403': description: Forbidden. content: application/vnd.gridx.v2+json: schema: readOnly: true allOf: - title: General Exception description: Represents a general error structure returned by our REST API. type: object properties: message: type: string description: Message represents the message reported to the user. details: type: array description: 'Details represents detail information for the user to fix this problem ' items: type: string required: - message x-readme-ref-name: GeneralException - title: UnauthorizedError - Forbidden Error description: Forbidden Error example: message: Bad credentials x-readme-ref-name: ForbiddenException '404': description: Requested entity not found. content: application/vnd.gridx.v2+json: schema: readOnly: true allOf: - title: General Exception description: Represents a general error structure returned by our REST API. type: object properties: message: type: string description: Message represents the message reported to the user. details: type: array description: 'Details represents detail information for the user to fix this problem ' items: type: string required: - message x-readme-ref-name: GeneralException - title: ClientError - Not Found description: Not Found indicates that the entity was not found. example: message: Not Found x-readme-ref-name: NotFoundException '500': description: There has been an internal error on our side. We're looking into it. content: application/vnd.gridx.v2+json: schema: readOnly: true allOf: - title: General Exception description: Represents a general error structure returned by our REST API. type: object properties: message: type: string description: Message represents the message reported to the user. details: type: array description: 'Details represents detail information for the user to fix this problem ' items: type: string required: - message x-readme-ref-name: GeneralException - title: ServerSideError - Internal Server Error description: Internal Server Error example: message: Internal Server Error x-readme-ref-name: InternalException x-code-samples: - lang: python label: Python source: "import requests\n\nurl = \"https://api.gridx.de/systems/systemID/ev-profiles/evProfileID\"\n\npayload = {\n \"name\": \"My profile\",\n \"manufacturer\": \"Tesla\",\n \"model\": \"Model-3\",\n \"color\": \"red\",\n \"capacity\": 12000,\n \"averageConsumption\": 30000,\n \"phasesCount\": 1,\n \"minChargePower\": 8000,\n \"userSoc\": 50,\n \"image\": \"data:image/jpeg;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\",\n \"minChargePowerPerPhase\": 2070,\n \"minRequestedSoc\": 70,\n \"zeroLockDuration\": 0,\n \"phaseSwitchFeatureEnabled\": True\n}\nheaders = {\n \"accept\": \"application/vnd.gridx.v2+json\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.patch(url, json=payload, headers=headers)\n\nprint(response.text)" - lang: shell label: Shell source: "curl --request PATCH \\\n --url https://api.gridx.de/systems/systemID/ev-profiles/evProfileID \\\n --header 'accept: application/vnd.gridx.v2+json' \\\n --header 'content-type: application/json' \\\n --data '\n{\n \"name\": \"My profile\",\n \"manufacturer\": \"Tesla\",\n \"model\": \"Model-3\",\n \"color\": \"red\",\n \"capacity\": 12000,\n \"averageConsumption\": 30000,\n \"phasesCount\": 1,\n \"minChargePower\": 8000,\n \"userSoc\": 50,\n \"image\": \"data:image/jpeg;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\",\n \"minChargePowerPerPhase\": 2070,\n \"minRequestedSoc\": 70,\n \"zeroLockDuration\": 0,\n \"phaseSwitchFeatureEnabled\": true\n}\n'" - lang: go label: Go source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io\"\n)\n\nfunc main() {\n\n\turl := \"https://api.gridx.de/systems/systemID/ev-profiles/evProfileID\"\n\n\tpayload := strings.NewReader(\"{\\\"name\\\":\\\"My profile\\\",\\\"manufacturer\\\":\\\"Tesla\\\",\\\"model\\\":\\\"Model-3\\\",\\\"color\\\":\\\"red\\\",\\\"capacity\\\":12000,\\\"averageConsumption\\\":30000,\\\"phasesCount\\\":1,\\\"minChargePower\\\":8000,\\\"userSoc\\\":50,\\\"image\\\":\\\"data:image/jpeg;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\\\",\\\"minChargePowerPerPhase\\\":2070,\\\"minRequestedSoc\\\":70,\\\"zeroLockDuration\\\":0,\\\"phaseSwitchFeatureEnabled\\\":true}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"accept\", \"application/vnd.gridx.v2+json\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := io.ReadAll(res.Body)\n\n\tfmt.Println(string(body))\n\n}" - lang: javascript label: Javascript source: "const options = {\n method: 'PATCH',\n headers: {accept: 'application/vnd.gridx.v2+json', 'content-type': 'application/json'},\n body: JSON.stringify({\n name: 'My profile',\n manufacturer: 'Tesla',\n model: 'Model-3',\n color: 'red',\n capacity: 12000,\n averageConsumption: 30000,\n phasesCount: 1,\n minChargePower: 8000,\n userSoc: 50,\n image: 'data:image/jpeg;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==',\n minChargePowerPerPhase: 2070,\n minRequestedSoc: 70,\n zeroLockDuration: 0,\n phaseSwitchFeatureEnabled: true\n })\n};\n\nfetch('https://api.gridx.de/systems/systemID/ev-profiles/evProfileID', options)\n .then(res => res.json())\n .then(res => console.log(res))\n .catch(err => console.error(err));" - lang: java label: Java source: "OkHttpClient client = new OkHttpClient();\n\nMediaType mediaType = MediaType.parse(\"application/json\");\nRequestBody body = RequestBody.create(mediaType, \"{\\\"name\\\":\\\"My profile\\\",\\\"manufacturer\\\":\\\"Tesla\\\",\\\"model\\\":\\\"Model-3\\\",\\\"color\\\":\\\"red\\\",\\\"capacity\\\":12000,\\\"averageConsumption\\\":30000,\\\"phasesCount\\\":1,\\\"minChargePower\\\":8000,\\\"userSoc\\\":50,\\\"image\\\":\\\"data:image/jpeg;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\\\",\\\"minChargePowerPerPhase\\\":2070,\\\"minRequestedSoc\\\":70,\\\"zeroLockDuration\\\":0,\\\"phaseSwitchFeatureEnabled\\\":true}\");\nRequest request = new Request.Builder()\n .url(\"https://api.gridx.de/systems/systemID/ev-profiles/evProfileID\")\n .patch(body)\n .addHeader(\"accept\", \"application/vnd.gridx.v2+json\")\n .addHeader(\"content-type\", \"application/json\")\n .build();\n\nResponse response = client.newCall(request).execute();" - lang: java label: Kotlin source: "val client = OkHttpClient()\n\nval mediaType = MediaType.parse(\"application/json\")\nval body = RequestBody.create(mediaType, \"{\\\"name\\\":\\\"My profile\\\",\\\"manufacturer\\\":\\\"Tesla\\\",\\\"model\\\":\\\"Model-3\\\",\\\"color\\\":\\\"red\\\",\\\"capacity\\\":12000,\\\"averageConsumption\\\":30000,\\\"phasesCount\\\":1,\\\"minChargePower\\\":8000,\\\"userSoc\\\":50,\\\"image\\\":\\\"data:image/jpeg;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\\\",\\\"minChargePowerPerPhase\\\":2070,\\\"minRequestedSoc\\\":70,\\\"zeroLockDuration\\\":0,\\\"phaseSwitchFeatureEnabled\\\":true}\")\nval request = Request.Builder()\n .url(\"https://api.gridx.de/systems/systemID/ev-profiles/evProfileID\")\n .patch(body)\n .addHeader(\"accept\", \"application/vnd.gridx.v2+json\")\n .addHeader(\"content-type\", \"application/json\")\n .build()\n\nval response = client.newCall(request).execute()" - lang: javascript label: Swift source: "import Foundation\n\nlet parameters = [\n \"name\": \"My profile\",\n \"manufacturer\": \"Tesla\",\n \"model\": \"Model-3\",\n \"color\": \"red\",\n \"capacity\": 12000,\n \"averageConsumption\": 30000,\n \"phasesCount\": 1,\n \"minChargePower\": 8000,\n \"userSoc\": 50,\n \"image\": \"data:image/jpeg;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\",\n \"minChargePowerPerPhase\": 2070,\n \"minRequestedSoc\": 70,\n \"zeroLockDuration\": 0,\n \"phaseSwitchFeatureEnabled\": true\n] as [String : Any?]\n\nlet postData = try JSONSerialization.data(withJSONObject: parameters, options: [])\n\nlet url = URL(string: \"https://api.gridx.de/systems/systemID/ev-profiles/evProfileID\")!\nvar request = URLRequest(url: url)\nrequest.httpMethod = \"PATCH\"\nrequest.timeoutInterval = 10\nrequest.allHTTPHeaderFields = [\n \"accept\": \"application/vnd.gridx.v2+json\",\n \"content-type\": \"application/json\"\n]\nrequest.httpBody = postData\n\nlet (data, _) = try await URLSession.shared.data(for: request)\nprint(String(decoding: data, as: UTF8.self))" - lang: csharp label: C# source: 'using RestSharp; var options = new RestClientOptions("https://api.gridx.de/systems/systemID/ev-profiles/evProfileID"); var client = new RestClient(options); var request = new RestRequest(""); request.AddHeader("accept", "application/vnd.gridx.v2+json"); request.AddJsonBody("{\"name\":\"My profile\",\"manufacturer\":\"Tesla\",\"model\":\"Model-3\",\"color\":\"red\",\"capacity\":12000,\"averageConsumption\":30000,\"phasesCount\":1,\"minChargePower\":8000,\"userSoc\":50,\"image\":\"data:image/jpeg;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\",\"minChargePowerPerPhase\":2070,\"minRequestedSoc\":70,\"zeroLockDuration\":0,\"phaseSwitchFeatureEnabled\":true}", false); var response = await client.PatchAsync(request); Console.WriteLine("{0}", response.Content); ' delete: operationId: deleteSystemEVProfile summary: Delete an EV profile description: Deletes an EV profile that belongs to the specified system. tags: - EV Profile security: - HeaderAuth: - EVProfilesWrite parameters: - name: systemID description: 'Unique identifier used to access a system. ' in: path required: true schema: type: string format: uuid example: aa3e5a93-bb38-4b15-b7f2-af40daf3a1dc - name: evProfileID description: Unique identifier for an EV profile. in: path required: true schema: type: string format: uuid example: d4498841-1404-46f6-8086-7cc8bbdf98d3 responses: '204': description: EV profile deleted successfully. '403': description: Forbidden. content: application/vnd.gridx.v2+json: schema: readOnly: true allOf: - title: General Exception description: Represents a general error structure returned by our REST API. type: object properties: message: type: string description: Message represents the message reported to the user. details: type: array description: 'Details represents detail information for the user to fix this problem ' items: type: string required: - message x-readme-ref-name: GeneralException - title: UnauthorizedError - Forbidden Error description: Forbidden Error example: message: Bad credentials x-readme-ref-name: ForbiddenException '404': description: Requested entity not found. content: application/vnd.gridx.v2+json: schema: readOnly: true allOf: - title: General Exception description: Represents a general error structure returned by our REST API. type: object properties: message: type: string description: Message represents the message reported to the user. details: type: array description: 'Details represents detail information for the user to fix this problem ' items: type: string required: - message x-readme-ref-name: GeneralException - title: ClientError - Not Found description: Not Found indicates that the entity was not found. example: message: Not Found x-readme-ref-name: NotFoundException '422': description: Validation failed. content: application/vnd.gridx.v2+json: schema: readOnly: true allOf: - title: General Exception description: Represents a general error structure returned by our REST API. type: object properties: message: type: string description: Message represents the message reported to the user. details: type: array description: 'Details represents detail information for the user to fix this problem ' items: type: string required: - message x-readme-ref-name: GeneralException - title: ClientError - Validation description: 'Validation indicates that the request body contains fields which does not pass the validation. ' type: object required: - message - details example: message: Validation failed details: - email is not valid x-readme-ref-name: InvalidException '500': description: There has been an internal error on our side. We're looking into it. content: application/vnd.gridx.v2+json: schema: readOnly: true allOf: - title: General Exception description: Represents a general error structure returned by our REST API. type: object properties: message: type: string description: Message represents the message reported to the user. details: type: array description: 'Details represents detail information for the user to fix this problem ' items: type: string required: - message x-readme-ref-name: GeneralException - title: ServerSideError - Internal Server Error description: Internal Server Error example: message: Internal Server Error x-readme-ref-name: InternalException x-code-samples: - lang: python label: Python source: 'import requests url = "https://api.gridx.de/systems/systemID/ev-profiles/evProfileID" headers = {"accept": "application/vnd.gridx.v2+json"} response = requests.delete(url, headers=headers) print(response.text)' - lang: shell label: Shell source: "curl --request DELETE \\\n --url https://api.gridx.de/systems/systemID/ev-profiles/evProfileID \\\n --header 'accept: application/vnd.gridx.v2+json'" - lang: go label: Go source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io\"\n)\n\nfunc main() {\n\n\turl := \"https://api.gridx.de/systems/systemID/ev-profiles/evProfileID\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"accept\", \"application/vnd.gridx.v2+json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := io.ReadAll(res.Body)\n\n\tfmt.Println(string(body))\n\n}" - lang: javascript label: Javascript source: "const options = {method: 'DELETE', headers: {accept: 'application/vnd.gridx.v2+json'}};\n\nfetch('https://api.gridx.de/systems/systemID/ev-profiles/evProfileID', options)\n .then(res => res.json())\n .then(res => console.log(res))\n .catch(err => console.error(err));" - lang: java label: Java source: "OkHttpClient client = new OkHttpClient();\n\nRequest request = new Request.Builder()\n .url(\"https://api.gridx.de/systems/systemID/ev-profiles/evProfileID\")\n .delete(null)\n .addHeader(\"accept\", \"application/vnd.gridx.v2+json\")\n .build();\n\nResponse response = client.newCall(request).execute();" - lang: java label: Kotlin source: "val client = OkHttpClient()\n\nval request = Request.Builder()\n .url(\"https://api.gridx.de/systems/systemID/ev-profiles/evProfileID\")\n .delete(null)\n .addHeader(\"accept\", \"application/vnd.gridx.v2+json\")\n .build()\n\nval response = client.newCall(request).execute()" - lang: javascript label: Swift source: 'import Foundation let url = URL(string: "https://api.gridx.de/systems/systemID/ev-profiles/evProfileID")! var request = URLRequest(url: url) request.httpMethod = "DELETE" request.timeoutInterval = 10 request.allHTTPHeaderFields = ["accept": "application/vnd.gridx.v2+json"] let (data, _) = try await URLSession.shared.data(for: request) print(String(decoding: data, as: UTF8.self))' - lang: csharp label: C# source: 'using RestSharp; var options = new RestClientOptions("https://api.gridx.de/systems/systemID/ev-profiles/evProfileID"); var client = new RestClient(options); var request = new RestRequest(""); request.AddHeader("accept", "application/vnd.gridx.v2+json"); var response = await client.DeleteAsync(request); Console.WriteLine("{0}", response.Content); ' servers: - url: https://api.gridx.de description: Production components: securitySchemes: HeaderAuth: type: apiKey name: Authorization in: header description: Enter either the JWT token with the prefix `Bearer ` or an API token with the prefix `Token ` x-refined-from: - gridx-api.json - gridx-ai-openapi.yml