openapi: 3.2.0 info: title: Gridx Ai Export Power Limit 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 Export Power Limit 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: Export Power Limit x-displayName: Export Power Limit paths: /systems/{systemID}/gateways/{gatewayID}/export-power-limit: get: summary: Retrieve gateway's current export power limit operationId: getSystemGatewayExportPowerLimit x-badges: - label: draft color: red tags: - Export Power Limit 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: gatewayID description: 'Unique identifier used to access a gateway. ' in: path required: true schema: type: string format: uuid example: 4ef41512-8445-4b90-aa53-8f8549b3f4bd responses: '200': description: Export Power limit returned. content: application/vnd.gridx.v2+json: schema: allOf: - title: Export power limit type: object properties: maxExportTotal: type: integer description: Maximum total export power in W. format: int64 minimum: 0 maxExportL1: type: integer description: Maximum total export power in the first phase in W. format: int64 minimum: 0 maxExportL2: type: integer description: Maximum total export power in the second phase in W. format: int64 minimum: 0 maxExportL3: type: integer description: Maximum total export power in the third phase in W. format: int64 minimum: 0 x-readme-ref-name: AbstractExportPowerLimit - properties: internalDeviceID: type: string description: Unique ID to identify the gateway the import power limit belongs to. example: aeb639cf0793e81f0804c6647af7f0900a847921c0596726f1afdfd04a3a3186 createdAt: type: string description: Time at which the import power limit was created in UTC using the RFC3339 format. example: '2021-10-10T23:20:50Z' format: date-time updatedAt: type: string description: Time at which the import power limit was updated in UTC using the RFC3339 format. example: '2021-10-10T23:20:50Z' format: date-time required: - internalDeviceID - createdAt - updatedAt x-readme-ref-name: ExportPowerLimit '400': description: Malformed request. 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 - Bad Request description: 'Bad Request indicates that the request body is not a valid JSON or it contains a invalid json type. ' example: message: Problems parsing JSON x-readme-ref-name: BadRequestException '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 security: - HeaderAuth: - SystemsRead x-code-samples: - lang: python label: Python source: 'import requests url = "https://api.gridx.de/systems/systemID/gateways/gatewayID/export-power-limit" 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/gateways/gatewayID/export-power-limit \\\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/gateways/gatewayID/export-power-limit\"\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/gateways/gatewayID/export-power-limit', 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/gateways/gatewayID/export-power-limit\")\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/gateways/gatewayID/export-power-limit\")\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/gateways/gatewayID/export-power-limit")! 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/gateways/gatewayID/export-power-limit"); 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); ' put: summary: Set gateway's export power limit operationId: setSystemGatewayExportPowerLimit description: 'Set the maximum export power of a grid connection point. If the power management feature is enabled, any configured value (non-null) for the total and per-phase limits are considered, otherwise they are ignored.' x-badges: - label: draft color: red tags: - Export Power Limit 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: gatewayID description: 'Unique identifier used to access a gateway. ' in: path required: true schema: type: string format: uuid example: 4ef41512-8445-4b90-aa53-8f8549b3f4bd requestBody: description: Set a gateway's export power limit. required: true content: application/vnd.gridx.v2+json: schema: allOf: - title: Export power limit type: object properties: maxExportTotal: type: integer description: Maximum total export power in W. format: int64 minimum: 0 maxExportL1: type: integer description: Maximum total export power in the first phase in W. format: int64 minimum: 0 maxExportL2: type: integer description: Maximum total export power in the second phase in W. format: int64 minimum: 0 maxExportL3: type: integer description: Maximum total export power in the third phase in W. format: int64 minimum: 0 x-readme-ref-name: AbstractExportPowerLimit - additionalProperties: false x-readme-ref-name: ExportPowerLimitSetStrict responses: '200': description: Export Power limit set. content: application/vnd.gridx.v2+json: schema: allOf: - title: Export power limit type: object properties: maxExportTotal: type: integer description: Maximum total export power in W. format: int64 minimum: 0 maxExportL1: type: integer description: Maximum total export power in the first phase in W. format: int64 minimum: 0 maxExportL2: type: integer description: Maximum total export power in the second phase in W. format: int64 minimum: 0 maxExportL3: type: integer description: Maximum total export power in the third phase in W. format: int64 minimum: 0 x-readme-ref-name: AbstractExportPowerLimit - properties: internalDeviceID: type: string description: Unique ID to identify the gateway the import power limit belongs to. example: aeb639cf0793e81f0804c6647af7f0900a847921c0596726f1afdfd04a3a3186 createdAt: type: string description: Time at which the import power limit was created in UTC using the RFC3339 format. example: '2021-10-10T23:20:50Z' format: date-time updatedAt: type: string description: Time at which the import power limit was updated in UTC using the RFC3339 format. example: '2021-10-10T23:20:50Z' format: date-time required: - internalDeviceID - createdAt - updatedAt x-readme-ref-name: ExportPowerLimit '400': description: Malformed request. 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 - Bad Request description: 'Bad Request indicates that the request body is not a valid JSON or it contains a invalid json type. ' example: message: Problems parsing JSON x-readme-ref-name: BadRequestException '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 security: - HeaderAuth: - SystemsWrite x-code-samples: - lang: python label: Python source: "import requests\n\nurl = \"https://api.gridx.de/systems/systemID/gateways/gatewayID/export-power-limit\"\n\nheaders = {\n \"accept\": \"application/vnd.gridx.v2+json\",\n \"content-type\": \"application/vnd.gridx.v2+json\"\n}\n\nresponse = requests.put(url, headers=headers)\n\nprint(response.text)" - lang: shell label: Shell source: "curl --request PUT \\\n --url https://api.gridx.de/systems/systemID/gateways/gatewayID/export-power-limit \\\n --header 'accept: application/vnd.gridx.v2+json' \\\n --header 'content-type: 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/gateways/gatewayID/export-power-limit\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"accept\", \"application/vnd.gridx.v2+json\")\n\treq.Header.Add(\"content-type\", \"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 = {\n method: 'PUT',\n headers: {\n accept: 'application/vnd.gridx.v2+json',\n 'content-type': 'application/vnd.gridx.v2+json'\n }\n};\n\nfetch('https://api.gridx.de/systems/systemID/gateways/gatewayID/export-power-limit', 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/gateways/gatewayID/export-power-limit\")\n .put(null)\n .addHeader(\"accept\", \"application/vnd.gridx.v2+json\")\n .addHeader(\"content-type\", \"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/gateways/gatewayID/export-power-limit\")\n .put(null)\n .addHeader(\"accept\", \"application/vnd.gridx.v2+json\")\n .addHeader(\"content-type\", \"application/vnd.gridx.v2+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/gateways/gatewayID/export-power-limit\")!\nvar request = URLRequest(url: url)\nrequest.httpMethod = \"PUT\"\nrequest.timeoutInterval = 10\nrequest.allHTTPHeaderFields = [\n \"accept\": \"application/vnd.gridx.v2+json\",\n \"content-type\": \"application/vnd.gridx.v2+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/gateways/gatewayID/export-power-limit"); var client = new RestClient(options); var request = new RestRequest(""); request.AddHeader("accept", "application/vnd.gridx.v2+json"); request.AddHeader("content-type", "application/vnd.gridx.v2+json"); var response = await client.PutAsync(request); Console.WriteLine("{0}", response.Content); ' delete: summary: Delete gateway's export power limit operationId: deleteSystemGatewayExportPowerLimit x-badges: - label: draft color: red tags: - Export Power Limit 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: gatewayID description: 'Unique identifier used to access a gateway. ' in: path required: true schema: type: string format: uuid example: 4ef41512-8445-4b90-aa53-8f8549b3f4bd responses: '204': description: Export power limit deleted successfully! '400': description: Malformed request. 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 - Bad Request description: 'Bad Request indicates that the request body is not a valid JSON or it contains a invalid json type. ' example: message: Problems parsing JSON x-readme-ref-name: BadRequestException '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 security: - HeaderAuth: - SystemsWrite x-code-samples: - lang: python label: Python source: 'import requests url = "https://api.gridx.de/systems/systemID/gateways/gatewayID/export-power-limit" 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/gateways/gatewayID/export-power-limit \\\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/gateways/gatewayID/export-power-limit\"\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/gateways/gatewayID/export-power-limit', 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/gateways/gatewayID/export-power-limit\")\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/gateways/gatewayID/export-power-limit\")\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/gateways/gatewayID/export-power-limit")! 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/gateways/gatewayID/export-power-limit"); 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