UNPKG

homebridge-zaptec

Version:
1,597 lines (1,596 loc) 138 kB
{ "openapi": "3.0.1", "info": { "title": "Zaptec.ZapCloud.WebAPI", "version": "v1" }, "paths": { "/api/chargehistory": { "get": { "tags": [ "ChargeHistory" ], "summary": "Get a list of all completed charge sessions accessible by the current user matching \r\nthe filter options.", "description": "Default page size is 500 and maximum is 5000.", "parameters": [ { "name": "InstallationId", "in": "query", "schema": { "type": "string", "format": "uuid" } }, { "name": "UserId", "in": "query", "schema": { "type": "string", "format": "uuid" } }, { "name": "ChargerId", "in": "query", "schema": { "type": "string", "format": "uuid" } }, { "name": "From", "in": "query", "schema": { "type": "string", "format": "date-time" } }, { "name": "To", "in": "query", "schema": { "type": "string", "format": "date-time" } }, { "name": "GroupBy", "in": "query", "description": "0 = group by charger (default), 1 = group by calendar day, 2 = group by user.\n\n0 = Charger\n\n1 = Day\n\n2 = User", "schema": { "$ref": "#/components/schemas/AggregateGroup" } }, { "name": "DetailLevel", "in": "query", "description": "Bitflag: 0 = session summary (default), 1 = include detailed session energy data.\n\n0 = Summary\n\n1 = EnergyDetails", "schema": { "$ref": "#/components/schemas/DetailLevelFlags" } }, { "name": "SortProperty", "in": "query", "description": "Name of the property used to sort the result.", "schema": { "type": "string" } }, { "name": "SortDescending", "in": "query", "description": "Set to true to sort items in descending order.", "schema": { "type": "boolean" } }, { "name": "PageSize", "in": "query", "description": "Number of items to return per page.", "schema": { "type": "integer", "format": "int32" } }, { "name": "PageIndex", "in": "query", "description": "The page index to return, first page is 0.", "schema": { "type": "integer", "format": "int32" } }, { "name": "IncludeDisabled", "in": "query", "description": "If true, and your user has access, include disabled objects.", "schema": { "type": "boolean" } }, { "name": "Exclude", "in": "query", "description": "Get or set a list of item Id's that will be excluded from the result.", "schema": { "type": "array", "items": { "type": "string", "format": "uuid" } } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/SessionListModelPagedData" } }, "application/json": { "schema": { "$ref": "#/components/schemas/SessionListModelPagedData" } }, "text/json": { "schema": { "$ref": "#/components/schemas/SessionListModelPagedData" } } } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "security": [ { "oauth2": [ ] }, { "API Key": [ ] } ] } }, "/api/chargehistory/installationreport": { "get": { "tags": [ "ChargeHistory" ], "summary": "Get a usage report matching the provided filter options (require installation owner permissions).", "description": "Please note that this GET version of installationreport has been deprecated, use the\r\nPOST version instead. GET requests are limited by 2048 character URL length, and will\r\nfail if the provided filted exceeds this length.", "parameters": [ { "name": "FromDate", "in": "query", "schema": { "type": "string", "format": "date-time" } }, { "name": "EndDate", "in": "query", "schema": { "type": "string", "format": "date-time" } }, { "name": "InstallationId", "in": "query", "schema": { "type": "string", "format": "uuid" } }, { "name": "UserIds", "in": "query", "schema": { "type": "array", "items": { "type": "string", "format": "uuid" } } }, { "name": "ChargerIds", "in": "query", "schema": { "type": "array", "items": { "type": "string", "format": "uuid" } } }, { "name": "GroupBy", "in": "query", "description": "\n\n0 = User\n\n1 = Charger\n\n2 = ChargeCardName", "schema": { "$ref": "#/components/schemas/GroupByOptions" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/CustomTotalChargerReportModel" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CustomTotalChargerReportModel" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CustomTotalChargerReportModel" } } } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "deprecated": true, "security": [ { "oauth2": [ ] }, { "API Key": [ ] } ] }, "post": { "tags": [ "ChargeHistory" ], "summary": "Get a usage report matching the provided filter options (require installation owner permissions).", "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/InstallationChargeHistoryModel" } }, "application/json": { "schema": { "$ref": "#/components/schemas/InstallationChargeHistoryModel" } }, "text/json": { "schema": { "$ref": "#/components/schemas/InstallationChargeHistoryModel" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/InstallationChargeHistoryModel" } } } }, "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/CustomTotalChargerReportModel" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CustomTotalChargerReportModel" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CustomTotalChargerReportModel" } } } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "security": [ { "oauth2": [ ] }, { "API Key": [ ] } ] } }, "/api/chargers": { "get": { "tags": [ "Charger" ], "summary": "Get all chargers accessible by current user matching the filter options.", "description": "By default the first 500 items will be returned. Page though results using pageIndex or \r\nchange pageSize to return more items. The maximum pageSize is 5000.", "parameters": [ { "name": "Roles", "in": "query", "description": "Return only charge points where current user has any of the provided user roles. Note\r\nthat this is a bit-flag and multiple roles can be provided.\n\n0 = None\n\n1 = User\n\n2 = Owner\n\n4 = Maintainer\n\n8 = Administrator\n\n15 = Any\n\n16 = Onboarding\n\n32 = DeviceAdministrator\n\n64 = PartnerAdministrator\n\n128 = Technical\n\n256 = InternalData", "schema": { "$ref": "#/components/schemas/UserRoles" } }, { "name": "DeviceType", "in": "query", "description": "Return only charge points of the provided type.\n\n0 = Unknown\n\n1 = Smart\n\n2 = Portable\n\n3 = HomeApm\n\n4 = Apollo\n\n5 = OtherApm\n\n6 = GenericApm\n\n7 = HanApm", "schema": { "$ref": "#/components/schemas/DeviceType" } }, { "name": "InstallationType", "in": "query", "description": "Return only chargers installed in installations of this time.\n\n0 = Pro\n\n1 = Smart", "schema": { "$ref": "#/components/schemas/InstallationTypeCode" } }, { "name": "NameFilter", "in": "query", "description": "A filter used to filter items. The filter may be applied to multiple\r\nproperties depending on the object type.", "schema": { "type": "string" } }, { "name": "ReturnIdNameOnly", "in": "query", "description": "If true objects are only returned with their basic properties like\r\nId and name.", "schema": { "type": "boolean" } }, { "name": "SortProperty", "in": "query", "description": "Name of the property used to sort the result.", "schema": { "type": "string" } }, { "name": "SortDescending", "in": "query", "description": "Set to true to sort items in descending order.", "schema": { "type": "boolean" } }, { "name": "PageSize", "in": "query", "description": "Number of items to return per page.", "schema": { "type": "integer", "format": "int32" } }, { "name": "PageIndex", "in": "query", "description": "The page index to return, first page is 0.", "schema": { "type": "integer", "format": "int32" } }, { "name": "IncludeDisabled", "in": "query", "description": "If true, and your user has access, include disabled objects.", "schema": { "type": "boolean" } }, { "name": "Exclude", "in": "query", "description": "Get or set a list of item Id's that will be excluded from the result.", "schema": { "type": "array", "items": { "type": "string", "format": "uuid" } } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ChargerListModelPagedData" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ChargerListModelPagedData" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ChargerListModelPagedData" } } } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "security": [ { "oauth2": [ ] }, { "API Key": [ ] } ] } }, "/api/chargers/{id}": { "get": { "tags": [ "Charger" ], "summary": "Get the provided charger (requires owner or service permissions).", "parameters": [ { "name": "id", "in": "path", "description": "Charger Id", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ZapChargerViewModel" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ZapChargerViewModel" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ZapChargerViewModel" } } } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "security": [ { "oauth2": [ ] }, { "API Key": [ ] } ] } }, "/api/chargers/{id}/update": { "post": { "tags": [ "Charger" ], "summary": "Update charger properties (requires owner or service permissions).", "description": "<br>\r\n maxChargeCurrent and minChargeCurrent should in general not be used. These are available for special\r\n use cases, where an external party need to override the Zaptec load balancer. Doing this can case\r\n unforeseen behavior. It is recommended to control the charging system as a whole using the installations\r\n AvailableCurrent settings.\r\n \r\n<br>\r\n Offline current/phase override should only be done in special cases where charging stations should not \r\n automatically optimize offline current/phases. If offline current/phase is overriden, \r\n ensure that the sum of all overriden values in an installation does not exceed the fuse limit.\r\n \r\n<br>\r\n Set OfflineChargeCurrent to -1 to enable automatic allocation of offline current.\r\n Any other value between 0 and 32 will override the offline charge current. Null values are ignored.\r\n \r\n<br>\r\n Set OfflineChargePhase to 0 ({Phases.None}) to enable automatic allocation of offline phase.\r\n Any other valid value will override the offline charge phase allocation. Null values are ignored.\r\n \r\n<br>\r\n meterValueInterval determines the data interval used for reporting periodic data. It is recommended\r\n that this is kept at the default 30 minutes. Setting this to 0 will disable periodic energy\r\n reporting, affecting both data reported by sessions and the signed meter values reported by\r\n the charger. \r\n ", "parameters": [ { "name": "id", "in": "path", "description": "Charge point ID", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "Charger properties to update", "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/ChargerExternalUpdateModel" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ChargerExternalUpdateModel" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ChargerExternalUpdateModel" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/ChargerExternalUpdateModel" } } } }, "responses": { "200": { "description": "Success" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "security": [ { "oauth2": [ ] }, { "API Key": [ ] } ] } }, "/api/chargers/{id}/state": { "get": { "tags": [ "Charger" ], "summary": "Get the current state properties (observations) for the provided charger\r\n(requires owner or service permissions).", "description": "StateId's may differ by charger model. Current generation ZapCharger\r\nSmart support {Observations} from https://api.zaptec.com/api/constants.", "parameters": [ { "name": "id", "in": "path", "description": "Charger Id", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ChargerStateModel" } } }, "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ChargerStateModel" } } }, "text/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ChargerStateModel" } } } } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "security": [ { "oauth2": [ ] }, { "API Key": [ ] } ] } }, "/api/chargers/{id}/sendCommand/{commandId}": { "post": { "tags": [ "Charger" ], "summary": "Send a command to the charger (require owner or service permissions).", "description": "When sending command 10001 (deauthorize and stop), caller is responsible for not \r\nauthorizing new charge requests until the command is completed.", "parameters": [ { "name": "id", "in": "path", "description": "Charger Id", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "commandId", "in": "path", "description": "Supported command Ids are: 102 - restart charger, 200 - upgrade firmware,\r\n506 - stop/pause charging (requires firmware > 3.2), 507 - resume charging\r\n(requires firmware > 3.2), 10001 - deauthorize and stop charging.", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "Success" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "security": [ { "oauth2": [ ] }, { "API Key": [ ] } ] } }, "/api/chargerFirmware/installation/{installationId}": { "get": { "tags": [ "ChargerFirmware" ], "summary": "Get firmware details for all chargers in the installation.", "parameters": [ { "name": "installationId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/InstallationChargerFirmwareModel" } } }, "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/InstallationChargerFirmwareModel" } } }, "text/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/InstallationChargerFirmwareModel" } } } } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "security": [ { "oauth2": [ ] }, { "API Key": [ ] } ] } }, "/api/constants": { "get": { "tags": [ "Constants" ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ConstantsModel" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ConstantsModel" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ConstantsModel" } } } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "security": [ { "oauth2": [ ] }, { "API Key": [ ] } ] } }, "/api/installation": { "get": { "tags": [ "Installation" ], "summary": "Get all installations accessible by the current user matching the filter options.", "description": "By default the first 500 items will be returned. Page though results using pageIndex or\r\nchange pageSize to return more items. The maximum pageSize is 5000.", "parameters": [ { "name": "Roles", "in": "query", "description": "Return only installations where current user has any of the provided user roles. Note\r\nthat this is a bit-flag and multiple roles can be provided.\n\n0 = None\n\n1 = User\n\n2 = Owner\n\n4 = Maintainer\n\n8 = Administrator\n\n15 = Any\n\n16 = Onboarding\n\n32 = DeviceAdministrator\n\n64 = PartnerAdministrator\n\n128 = Technical\n\n256 = InternalData", "schema": { "$ref": "#/components/schemas/UserRoles" } }, { "name": "InstallationType", "in": "query", "description": "Return only installations of the provided type.\n\n0 = Pro\n\n1 = Smart", "schema": { "$ref": "#/components/schemas/InstallationTypeCode" } }, { "name": "ExcludeIfVisibleForUserGroupLookupKey", "in": "query", "description": "Excludes installations that is visible for the user group identified by lookup key.", "schema": { "type": "string" } }, { "name": "NameFilter", "in": "query", "description": "A filter used to filter items. The filter may be applied to multiple\r\nproperties depending on the object type.", "schema": { "type": "string" } }, { "name": "ReturnIdNameOnly", "in": "query", "description": "If true objects are only returned with their basic properties like\r\nId and name.", "schema": { "type": "boolean" } }, { "name": "SortProperty", "in": "query", "description": "Name of the property used to sort the result.", "schema": { "type": "string" } }, { "name": "SortDescending", "in": "query", "description": "Set to true to sort items in descending order.", "schema": { "type": "boolean" } }, { "name": "PageSize", "in": "query", "description": "Number of items to return per page.", "schema": { "type": "integer", "format": "int32" } }, { "name": "PageIndex", "in": "query", "description": "The page index to return, first page is 0.", "schema": { "type": "integer", "format": "int32" } }, { "name": "IncludeDisabled", "in": "query", "description": "If true, and your user has access, include disabled objects.", "schema": { "type": "boolean" } }, { "name": "Exclude", "in": "query", "description": "Get or set a list of item Id's that will be excluded from the result.", "schema": { "type": "array", "items": { "type": "string", "format": "uuid" } } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/InstallationModelPagedData" } }, "application/json": { "schema": { "$ref": "#/components/schemas/InstallationModelPagedData" } }, "text/json": { "schema": { "$ref": "#/components/schemas/InstallationModelPagedData" } } } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "security": [ { "oauth2": [ ] }, { "API Key": [ ] } ] } }, "/api/installation/{id}": { "get": { "tags": [ "Installation" ], "summary": "Get the provided installation.\r\nInstallation details level depends on the current user permissions.", "parameters": [ { "name": "id", "in": "path", "description": "Installation Id", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "DetailLevel", "in": "query", "description": "0 = no extra details (default), 1 = include list of users that are present in the installation's charge history.\n\n0 = Default\n\n1 = UserDetails", "schema": { "$ref": "#/components/schemas/InstallationDetailLevelFlags" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/InstallationModel" } }, "application/json": { "schema": { "$ref": "#/components/schemas/InstallationModel" } }, "text/json": { "schema": { "$ref": "#/components/schemas/InstallationModel" } } } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "security": [ { "oauth2": [ ] }, { "API Key": [ ] } ] } }, "/api/installation/{id}/messagingConnectionDetails": { "get": { "tags": [ "Installation" ], "summary": "Get connection details for connecting to the live AMQP 1.0 subscription\r\nfor charger events on an installation (requires owner or service permissions).", "parameters": [ { "name": "id", "in": "path", "description": "Installation Id", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ConnectionDescriptor" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ConnectionDescriptor" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ConnectionDescriptor" } } } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "security": [ { "oauth2": [ ] }, { "API Key": [ ] } ] } }, "/api/installation/{id}/update": { "post": { "tags": [ "Installation" ], "summary": "Update installation properties (require owner or service permissions).", "description": "Provide <strong>either</strong> AvailableCurrent or AvailableCurrentPhase1,\r\nAvailableCurrentPhase2 and AvailableCurrentPhase3.\r\n<br>\r\nAvailable current update will instantly trigger a phase and load balancing of the\r\ninstallation. Resulting adjustments of charging stations phase and current\r\nsettings will be effectuated by vehicles within 5 seconds. It is recommended that\r\nthis setting is not updated more often than once every 15 minutes, as continuous\r\nchanges of charge current and phase may lead to the vehicle aborting the charge\r\nsession. Available current is limited to the installations configured max current\r\n(circuit breaker current). If available current is set to {null} (property\r\nis not provided), the installations available current is removed and\r\ninstallation will revert to use its max current setting.\r\n", "parameters": [ { "name": "id", "in": "path", "description": "Installation Id", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "description": "Installation properties to update", "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/InstallationExternalUpdateModel" } }, "application/json": { "schema": { "$ref": "#/components/schemas/InstallationExternalUpdateModel" } }, "text/json": { "schema": { "$ref": "#/components/schemas/InstallationExternalUpdateModel" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/InstallationExternalUpdateModel" } } } }, "responses": { "200": { "description": "Success" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "security": [ { "oauth2": [ ] }, { "API Key": [ ] } ] } }, "/api/installation/{id}/hierarchy": { "get": { "tags": [ "Installation" ], "summary": "Get an installation and its circuit and charger hierarchy\r\n(requires owner or service permissions).\r\nPlease note that only basic properties of the returned model will be populated.", "parameters": [ { "name": "id", "in": "path", "description": "Installation Id", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/InstallationTreeModel" } }, "application/json": { "schema": { "$ref": "#/components/schemas/InstallationTreeModel" } }, "text/json": { "schema": { "$ref": "#/components/schemas/InstallationTreeModel" } } } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "security": [ { "oauth2": [ ] }, { "API Key": [ ] } ] } }, "/api/session/{id}": { "get": { "tags": [ "Session" ], "summary": "Get session details.", "parameters": [ { "name": "id", "in": "path", "description": "Session Id", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/SessionEndData" } }, "application/json": { "schema": { "$ref": "#/components/schemas/SessionEndData" } }, "text/json": { "schema": { "$ref": "#/components/schemas/SessionEndData" } } } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "security": [ { "oauth2": [ ] }, { "API Key": [ ] } ] } }, "/api/session/{id}/priority": { "post": { "tags": [ "Session" ], "summary": "Set session priority (require owner or service permission).", "description": "Method allows a charge session to be given priority. Prioritized sessions will be \r\nallocated before unprioritized sessions, and will at a minimum be allowed to consume\r\nthe prioritized current. Please note that priority can be given to any number of\r\nsessions, it is up to the caller to ensure that the installation and circuit has enough \r\navailable current to provide the prioritized current. In case there is not enough \r\navailable current, prioritized chargers are allocated on a first come first served \r\nbasis. After all prioritized sessions are allocated, the rest of the available current \r\nis shared amongst the unprioritized sessions.", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/ChargePriority" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ChargePriority" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ChargePriority" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/ChargePriority" } } } }, "responses": { "200": { "description": "Success" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "security": [ { "oauth2": [ ] }, { "API Key": [ ] } ] } }, "/api/userGroups/{id}/messagingConnectionDetails": { "get": { "tags": [ "UserGroup" ], "summary": "Get connection details for connecting to the live AMQP 1.0 subscription\r\nfor charger events on installations belonging to group (requires owner or service permissions).", "parameters": [ { "name": "id", "in": "path", "description": "UserGroup Id", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ConnectionDescriptor" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ConnectionDescriptor" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ConnectionDescriptor" } } } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "security": [ { "oauth2": [ ] }, { "API Key": [ ] } ] } } }, "components": { "schemas": { "AggregateGroup": { "enum": [ 0, 1, 2 ], "type": "integer", "description": "0 = group by charger (default), 1 = group by calendar day, 2 = group by user.\n\n0 = Charger\n\n1 = Day\n\n2 = User", "format": "int32", "x-enumNames": [ "Charger", "Day", "User" ] }, "ChargePriority": { "type": "object", "properties": { "prioritizedPhases": { "$ref": "#/components/schemas/MaxPhase" }, "prioritizedCurrent": { "type": "number", "format": "double", "nullable": true } }, "additionalProperties": false }, "ChargerExternalUpdateModel": { "type": "object", "properties": { "maxChargeCurrent": { "type": "number", "description": "Adjustable between 0 and 32A. If charge current is below the charger minimum charge\r\ncurrent (usually 6A), no charge current will be allocated.", "format": "double", "nullable": true }, "maxChargePhases": { "$ref": "#/components/schemas/MaxPhase" }, "minChargeCurrent": { "type": "number", "description": "The minimum allocated charge current. If there is not enough current available to\r\nprovide the chargers minimum current it will not be able to charge. Usually set to\r\nmatch the vehicle minimum current for charging (defaults to 6A).", "format": "double", "nullable": true }, "offlineChargeCurrent": { "type": "number", "description": "Adjustable between 0 and 32A. If offline charge current is below the charger minimum charge\r\ncurrent (usually 6A), no charge current will be allocated when offline.\r\nOffline current override should only be done in special cases where charging \r\nstations should not automatically optimize offline current. In most cases \r\nthis setting should be set to -1 to allow ZapCloud to optimise offline current.\r\nIf -1, offline current will be automatically allocated.", "format": "double", "nullable": true }, "offlineChargePhase": { "$ref": "#/components/schemas/Phases" }, "meterValueInterval": { "type": "integer", "description": "The interval in seconds for a charger to report meter values.\r\nDefaults to 900 seconds for Pro and 3600 seconds for Go", "format": "int32", "nullable": true } }, "additionalProperties": false }, "ChargerListModel": { "type": "object", "properties": { "id": { "type": "string", "description": "Get the unique identifier of the charge point.", "format": "uuid" }, "mid": { "type": "string", "description": "<strong>This property is obsolete and is scheduled for removal,</strong>\r\n please use {DeviceId} instead.", "nullable": true, "readOnly": true, "deprecated": true }, "deviceId": { "type": "string", "description": "Get the deviceId (serialNo) of the charging stations used with the charge point.", "nullable": true }, "serialNo": { "type": "string", "description": "<strong>This property is obsolete and is scheduled for removal,</strong>\r\n please use {Name} instead.", "nullable": true, "readOnly": true, "deprecated": true }, "name": { "type": "string", "description": "Get the name of the charge point.", "nullable": true }, "createdOnDate": { "type": "string", "description": "Get the date and time the installation was created.", "format": "date-time", "nullable": true }, "circuitId": { "type": "string", "description": "Get the unique identifier the charge point is installed in.", "format": "uuid", "nullable": true }, "active": { "type": "boolean", "description": "Get a value indicating whether the charge point is active.", "nullable": true }, "currentUserRoles": { "$ref": "#/components/schemas/UserRoles" }, "pin": { "type": "string", "description": "Get the charger PIN code. This will only be provided if your user is system owner\r\nfor the charge point.", "nullable": true }, "templateId": { "type": "string", "description": "Get the unique identifier of the chargers firmware template.", "format": "uuid", "nullable": true }, "propertyOcppUrl": { "type": "string", "nullable": true }, "propertyOcppPassword": { "type": "string", "nullable": true }, "propertyPinOfflinePhase": { "type": "boolean", "nullable": true }, "propertyAuthenticationDisabled": { "type": "boolean", "nullable": true }, "hasSessions": { "type": "boolean", "nullable": true }, "propertyOfflinePhaseOverride": { "$ref": "#/components/schemas/Phases" }, "propertyOfflineCurrentOverride": { "type": "number", "format": "double", "nullable": true }, "propertyOcppVerboseLogUntil": { "type": "string", "format": "date-time", "nullable": true }, "propertyOcppDefaultIdTag": { "type": "string", "nullable": true }, "propertyOcppWebSocketPingInterval": { "type": "integer", "format": "int32", "nullable": true }, "propertyPrioritizedCurrent": { "type": "number", "format": "double", "nullable": true }, "propertyPrioritizedPhases": { "$ref": "#/components/schemas/MaxPhase" }, "propertyMaxSinglePhaseChargeCurrent": { "type": "number", "format": "double", "nullable": true }, "propertyOcppAvailability": { "type": "integer", "format": "int32", "nullable": true }, "propertyOcppOfflineListVersion": { "type": "integer", "format": "int32", "nullable": true }, "signedMeterValueKwh": { "type": "number", "format": "double", "nullable": true }, "signedMeterValue": { "type": "string", "nullable": true }, "deviceType": { "$ref": "#/components/schemas/DeviceType" }, "installationName": { "type": "string", "nullable": true }, "installationId": { "type": "string", "format": "uuid", "nullable": true }, "authenticationType": { "$ref": "#/components/schemas/InstallationAuthenticationType" }, "isAuthorizationRequired": { "type": "boolean",