### Installation Hierarchy Response Schema Source: https://docs.zaptec.com/reference/api_installation_id_hierarchy_get Example JSON response structure containing installation, circuit, and charger details. ```JSON { "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "name": "string", "networkType": 0, "circuits": [ { "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "name": "string", "maxCurrent": 0, "isActive": true, "installationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "installationName": "string", "chargers": [ { "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "deviceId": "string", "name": "string", "active": true, "deviceType": 0 } ] } ], "countryId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" } ``` -------------------------------- ### GET /api/installation Source: https://docs.zaptec.com/reference/api_installation_get Retrieves a list of installations. ```APIDOC ## GET /api/installation ### Description Retrieves a list of installations associated with the authenticated user. ### Method GET ### Endpoint https://api.zaptec.com/api/installation ### Response #### Success Response (200) - **pages** (integer) - Number of pages - **totalCount** (integer) - Total number of installations - **data** (array) - List of installation objects #### Response Example { "pages": 0, "totalCount": 0, "data": [ { "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "name": "string", "address": "string", "zipCode": "string", "city": "string", "countryId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "vatNumber": "string", "contactEmail": "string", "installationType": 0, "maxCurrent": 0, "availableCurrent": 0, "availableCurrentPhase1": 0, "availableCurrentPhase2": 0, "availableCurrentPhase3": 0, "availableCurrentMode": 0, "availableCurrentScheduleWeekendActive": true, "threeToOnePhaseSwitchCurrent": 0, "defaultThreeToOneSwitchCurrent": 0, "installationCategoryId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "installationCategory": "string", "useLoadBalancing": true, "isRequiredAuthentication": true, "latitude": 0, "longitude": 0, "notes": "string", "active": true, "networkType": 0, "availableInternetAccessPLC": true, "availableInternetAccessWiFi": true, "createdOnDate": "2026-09-02T18:38:09.770Z", "updatedOn": "2026-09-02T18:38:09.770Z", "currentUserRoles": 0, "authenticationType": 0, "webhooksAuthPayload": "string", "webhooksAuthUrl": "string", "webhooksSessionStartUrl": "string", "webhooksSessionEndUrl": "string", "messagingEnabled": true } ] } ``` -------------------------------- ### cURL Request for Installation Details Source: https://docs.zaptec.com/reference/api_installation_id_get Retrieves installation data using a GET request with the required headers. ```Shell curl --request GET \ --url https://api.zaptec.com/api/installation/id \ --header 'accept: text/plain' ``` -------------------------------- ### cURL Request for Installation Report Source: https://docs.zaptec.com/reference/api_chargehistory_installationreport_post Example of a POST request to the installation report endpoint using cURL. ```Shell curl --request POST \ --url https://api.zaptec.com/api/chargehistory/installationreport \ --header 'accept: text/plain' \ --header 'content-type: application/*+json' ``` -------------------------------- ### GET /api/installation/{id} Source: https://docs.zaptec.com/reference/api_installation_id_get Retrieves details for the specified installation. The level of detail available depends on the current user's permissions. ```APIDOC ## GET /api/installation/{id} ### Description Retrieves details for the specified installation. The level of detail available depends on the current user's permissions. ### Method GET ### Endpoint https://api.zaptec.com/api/installation/{id} ### Parameters #### Path Parameters - **id** (uuid) - Required - Installation ID #### Query Parameters - **DetailLevel** (int32) - Optional - 0 = no extra details (default), 1 = include list of users that are present in the installation's charge history, 2 = include user group information associated with the installation. ### Response #### Success Response (200) - **id** (uuid) - Installation ID - **name** (string | null) - Installation name - **address** (string | null) - Installation address - **zipCode** (string | null) - Zip code - **city** (string | null) - City - **countryId** (uuid | null) - Country identifier - **vatNumber** (string | null) - VAT number - **contactEmail** (string | null) - Contact email - **installationType** (int32) - 0 = Pro, 1 = Smart - **maxCurrent** (double | null) - Maximum current - **availableCurrent** (double | null) - Available current - **useLoadBalancing** (boolean | null) - Indicates whether load balancing should be enabled - **latitude** (double | null) - Latitude - **longitude** (double | null) - Longitude - **active** (boolean | null) - Active status - **createdOnDate** (date-time | null) - Creation date - **updatedOn** (date-time | null) - Last update date - **currentUserRoles** (int32) - Current user roles bitmask - **installationUsers** (array of objects | null) - DTO for users that have charged on an installation ``` -------------------------------- ### cURL Request for Installation Hierarchy Source: https://docs.zaptec.com/reference/api_installation_id_hierarchy_get Retrieves the installation hierarchy using a GET request with the specified installation ID. ```Shell curl --request GET \ --url https://api.zaptec.com/api/installation/id/hierarchy \ --header 'accept: text/plain' ``` -------------------------------- ### Installation Response Schema Source: https://docs.zaptec.com/reference/api_installation_get The structure of the JSON response returned by the installation GET endpoint. ```json { "pages": 0, "totalCount": 0, "data": [ { "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "name": "string", "address": "string", "zipCode": "string", "city": "string", "countryId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "vatNumber": "string", "contactEmail": "string", "installationType": 0, "maxCurrent": 0, "availableCurrent": 0, "availableCurrentPhase1": 0, "availableCurrentPhase2": 0, "availableCurrentPhase3": 0, "availableCurrentMode": 0, "availableCurrentScheduleWeekendActive": true, "threeToOnePhaseSwitchCurrent": 0, "defaultThreeToOneSwitchCurrent": 0, "installationCategoryId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "installationCategory": "string", "useLoadBalancing": true, "isRequiredAuthentication": true, "latitude": 0, "longitude": 0, "notes": "string", "active": true, "networkType": 0, "availableInternetAccessPLC": true, "availableInternetAccessWiFi": true, "createdOnDate": "2026-09-02T18:38:09.770Z", "updatedOn": "2026-09-02T18:38:09.770Z", "currentUserRoles": 0, "authenticationType": 0, "webhooksAuthPayload": "string", "webhooksAuthUrl": "string", "webhooksSessionStartUrl": "string", "webhooksSessionEndUrl": "string", "messagingEnabled": true } ] } ``` -------------------------------- ### GET https://api.zaptec.com/api/installation Source: https://docs.zaptec.com/reference/api_installation_get Retrieves all installations accessible by the current user, matching the provided filters. ```APIDOC ## GET https://api.zaptec.com/api/installation ### Description Retrieves all installations accessible by the current user, matching the provided filters. By default, returns the first 50 items. ### Method GET ### Endpoint https://api.zaptec.com/api/installation ### Parameters #### Query Parameters - **Roles** (int32) - Optional - Return only installations where current user has any of the provided user roles (bit-flag). - **InstallationType** (int32) - Optional - Return only installations of the provided type (0 = Pro, 1 = Smart). - **ExcludeIfVisibleForUserGroupLookupKey** (string) - Optional - Excludes installations that is visible for the user group identified by lookup key. - **NameFilter** (string) - Optional - A filter used to filter items. - **ReturnIdNameOnly** (boolean) - Optional - If true objects are only returned with their basic properties like Id and name. - **SortProperty** (string) - Optional - Name of the property used to sort the result. - **SortDescending** (boolean) - Optional - Set to true to sort items in descending order. - **PageSize** (int32) - Optional - Number of items to return per page (max: 100). - **PageIndex** (int32) - Optional - The page index to return, first page is 0. - **IncludeDisabled** (boolean) - Optional - If true, and your user has access, include disabled objects. - **Exclude** (array of uuids) - Optional - A list of item Id's that will be excluded from the result. - **PageInfoOnly** (boolean) - Optional - Returns only information about pages and no data info. ``` -------------------------------- ### Update Installation cURL Request Source: https://docs.zaptec.com/reference/api_installation_id_update_post Example cURL command to perform an installation update request. ```shell curl --request POST \ --url https://api.zaptec.com/api/installation/id/update \ --header 'accept: application/json' \ --header 'content-type: application/*+json' ``` -------------------------------- ### GET /api/installation/{id}/hierarchy Source: https://docs.zaptec.com/reference/api_installation_id_hierarchy_get Retrieves an installation along with its circuit and charger hierarchy. Requires owner or service permissions. ```APIDOC ## GET /api/installation/{id}/hierarchy ### Description Retrieves an installation along with its circuit and charger hierarchy. Requires owner or service permissions. Note that only basic properties of the returned model will be populated. ### Method GET ### Endpoint https://api.zaptec.com/api/installation/{id}/hierarchy ### Parameters #### Path Parameters - **id** (uuid) - Required - Installation ID ### Response #### Success Response (200) - **id** (uuid) - Unique identifier of the installation. - **name** (string | null) - Installation name. - **networkType** (int32 | null) - Installation electrical grid type Id. - **circuits** (array of objects | null) - List of circuits managed by the installation. - **id** (uuid) - Unique identifier of the circuit. - **name** (string | null) - Circuit name. - **maxCurrent** (double) - Circuit max current (fuse rating). - **isActive** (boolean) - Indicates whether the circuit is active. - **installationId** (uuid) - Unique identifier of the circuit's parent installation. - **installationName** (string | null) - Name of the circuit's parent installation. - **chargers** (array of objects | null) - List of chargers installed in the circuit. - **id** (uuid) - Unique identifier of the charge point. - **deviceId** (string | null) - DeviceId (serialNo) of the charging station. - **name** (string | null) - Name of the charge point. - **active** (boolean | null) - Indicates whether the charge point is active. - **deviceType** (int32) - Device type enum (0=Unknown, 1=Smart, 2=Portable, 3=HomeApm, 4=Apollo, 5=OtherApm, 6=GenericApm, 7=HanApm, 8=TicApm). - **countryId** (uuid) - Unique identifier of the country. #### Response Example { "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "name": "string", "networkType": 0, "circuits": [ { "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "name": "string", "maxCurrent": 0, "isActive": true, "installationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "installationName": "string", "chargers": [ { "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "deviceId": "string", "name": "string", "active": true, "deviceType": 0 } ] } ], "countryId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" } ``` -------------------------------- ### cURL Request for Firmware Details Source: https://docs.zaptec.com/reference/api_chargerfirmware_installation_installationid_get Example request to retrieve firmware information for a specific installation using the cURL command-line tool. ```Shell curl --request GET \ --url https://api.zaptec.com/api/chargerFirmware/installation/installationId \ --header 'accept: text/plain' ``` -------------------------------- ### GET /api/chargerFirmware/installation/{installationId} Source: https://docs.zaptec.com/reference/api_chargerfirmware_installation_installationid_get Retrieves firmware details for all chargers in the specified installation. ```APIDOC ## GET /api/chargerFirmware/installation/{installationId} ### Description Retrieves firmware details for all chargers in the specified installation. Requires owner or service permissions. ### Method GET ### Endpoint https://api.zaptec.com/api/chargerFirmware/installation/{installationId} ### Parameters #### Path Parameters - **installationId** (uuid) - Required - Installation ID ### Response #### Success Response (200) - **chargerId** (uuid) - Charger ID - **deviceId** (string | null) - Device ID - **isOnline** (boolean | null) - Online status - **currentVersion** (string | null) - Current firmware version - **availableVersion** (string | null) - Available firmware version - **deviceType** (int32) - Device type (0=Unknown, 1=Smart, 2=Portable, 3=HomeApm, 4=Apollo, 5=OtherApm, 6=GenericApm, 7=HanApm, 8=TicApm) - **isUpToDate** (boolean | null) - Indicates if the firmware is up to date #### Response Example [ { "chargerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "deviceId": "string", "isOnline": true, "currentVersion": "string", "availableVersion": "string", "deviceType": 0, "isUpToDate": true } ] ``` -------------------------------- ### Legacy Behavior Identity Example Source: https://docs.zaptec.com/docs/legacy-ocpp-behavior Example showing how a charger-level URL resolves when legacy behavior is enabled. ```text wss://host/ocpp/Zaptec-OcppNameId ``` ```text ZAPP12345 ``` -------------------------------- ### GET /installations/{installationId}/hierarchy Source: https://docs.zaptec.com/docs/step-by-step-flow-granting-third-party-access-to-user-installations-via-lookup-key Fetches a breakdown of the installation and its associated devices, allowing the application to identify specific chargers within an installation. ```APIDOC ## GET /installations/{installationId}/hierarchy ### Description Use this endpoint to fetch a breakdown of the installation and its devices. This is used to identify and link a specific charger after the user has granted access. ### Method GET ### Endpoint /installations/{installationId}/hierarchy ### Parameters #### Path Parameters - **installationId** (string) - Required - The unique identifier of the installation returned after the access request flow. ``` -------------------------------- ### Installation Authentication Modes Source: https://docs.zaptec.com/page/endpoints-added Endpoints to configure the authentication mode for an installation. ```APIDOC ## PUT /installations/{installationId}/mode/ocpp ### Description Sets the installation authentication mode to OCPP. ### Method PUT ### Endpoint /installations/{installationId}/mode/ocpp ## PUT /installations/{installationId}/mode/ocpp-cloud ### Description Sets the installation authentication mode to OCPP Cloud. ### Method PUT ### Endpoint /installations/{installationId}/mode/ocpp-cloud ## PUT /installations/{installationId}/mode/zaptec ### Description Sets the installation authentication mode to Zaptec. ### Method PUT ### Endpoint /installations/{installationId}/mode/zaptec ``` -------------------------------- ### GET /api/installation/{id}/messagingConnectionDetails Source: https://docs.zaptec.com/reference/api_installation_id_messagingconnectiondetails_get Retrieves connection details for subscribing to live AMQP 1.0 charger events for the specified installation. ```APIDOC ## GET /api/installation/{id}/messagingConnectionDetails ### Description Retrieves connection details for subscribing to live AMQP 1.0 charger events for the specified installation (requires owner or service permissions). WARNING: This feature is deprecated. ### Method GET ### Endpoint https://api.zaptec.com/api/installation/{id}/messagingConnectionDetails ### Parameters #### Path Parameters - **id** (uuid) - Required - Installation ID ### Response #### Success Response (200) - **type** (int32) - 0 = Amqp10 - **host** (string | null) - Host address - **port** (int32) - Port number - **useSSL** (boolean) - SSL usage flag - **username** (string | null) - Username - **password** (string | null) - Password - **topic** (string | null) - Topic - **subscription** (string | null) - Subscription details #### Error Responses - **401** - Unauthorized - **403** - Forbidden ``` -------------------------------- ### Retrieve Installation Hierarchy Source: https://docs.zaptec.com/docs/step-by-step-flow-granting-third-party-access-to-user-installations-via-lookup-key Endpoint to fetch all chargers associated with a specific installation ID. ```http GET /installations/{installationId}/hierarchy ``` -------------------------------- ### POST /api/installation/{id}/update Source: https://docs.zaptec.com/reference/api_installation_id_update_post Updates installation properties. Requires owner or service permissions. Updating available current triggers phase and load balancing for the installation. ```APIDOC ## POST /api/installation/{id}/update ### Description Updates installation properties (requires owner or service permissions). Updating available current will instantly trigger phase and load balancing for the installation. ### Method POST ### Endpoint https://api.zaptec.com/api/installation/{id}/update ### Parameters #### Path Parameters - **id** (uuid) - Required - Installation ID #### Request Body - **availableCurrent** (double | null) - Optional - Available current to set on all phases. - **availableCurrentPhase1** (double | null) - Optional - Available current to set on phase 1. - **availableCurrentPhase2** (double | null) - Optional - Available current to set on phase 2. - **availableCurrentPhase3** (double | null) - Optional - Available current to set on phase 3. - **maxCurrent** (double | null) - Optional - The maximum allowed current for the installation. Requires service permission (electrician). - **minPowerOfflineMode** (boolean | null) - Optional - When set to true, offline power will be limited to the chargers minimum charge current. - **threeToOnePhaseSwitchCurrent** (double | null) - Optional - Set 3to1 switch current for installation. ### Response #### Success Response (200) - OK ``` -------------------------------- ### cURL request for onboarding a charger Source: https://docs.zaptec.com/reference/post_chargers-chargerid-onboarding Example of a POST request to the onboarding endpoint using cURL. ```Shell curl --request POST \ --url http://integrations.api.prod.zaptec.com/chargers/chargerId/onboarding \ --header 'content-type: application/json' ``` -------------------------------- ### OAuth Payload Example Source: https://docs.zaptec.com/docs/webhook-authentication A basic example of the payload format for an OAuth token request. ```text grant_type=password&username={username}&password={password} ``` -------------------------------- ### cURL Request for Installations Source: https://docs.zaptec.com/reference/api_installation_get Use this cURL command to retrieve a list of installations from the Zaptec API. ```bash curl --request GET \ --url https://api.zaptec.com/api/installation \ --header 'accept: text/plain' ``` -------------------------------- ### Charger State Response Example Source: https://docs.zaptec.com/reference/api_chargers_id_state_get Example of the JSON array returned by the API when a request is successful. ```JSON [ { "chargerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "stateId": 0, "stateName": "string", "timestamp": "2026-09-02T18:38:08.941Z", "valueAsString": "string" } ] ``` -------------------------------- ### PUT /installations/{installationId}/mode/ocpp Source: https://docs.zaptec.com/page/endpoints-added Enables standard OCPP authentication for an installation. ```APIDOC ## PUT /installations/{installationId}/mode/ocpp ### Description Enables standard OCPP authentication. ### Method PUT ### Endpoint /installations/{installationId}/mode/ocpp ### Parameters #### Path Parameters - **installationId** (string) - Required - The unique identifier of the installation. #### Request Body - **ocppUrl** (string) - Required - The OCPP Central System URL. ``` -------------------------------- ### PUT /installations/{installationId}/mode/ocpp-cloud Source: https://docs.zaptec.com/page/endpoints-added Enables OCPP Cloud authentication for an installation. ```APIDOC ## PUT /installations/{installationId}/mode/ocpp-cloud ### Description Enables OCPP Cloud authentication. ### Method PUT ### Endpoint /installations/{installationId}/mode/ocpp-cloud ### Parameters #### Path Parameters - **installationId** (string) - Required - The unique identifier of the installation. #### Request Body - **ocppUrl** (string) - Required - The OCPP Central System URL. - **ocppInitialChargePointPassword** (string) - Required - The initial password. - **ocppDefaultIdTag** (string) - Required - The default ID tag. ``` -------------------------------- ### Session Start Request Format Source: https://docs.zaptec.com/docs/web-hook-authorization The POST request sent by ZapCloud to the configured session start URL when a vehicle connects. ```http POST /api/zaptec/session-start HTTP/1.1 Host: partner.example.com Authorization: Bearer {access_token-or-Basic} Content-Type: application/json { "token": "04AABBCCDD", "chargerId": "b7f0c79c-0a76-4b87-a469-90d91e3ac901", "chargerName": "P1 – Basement spot 12", "installationId": "4adc8954-274b-4acd-a2e3-3a31567565e9", "installationName": "Office Garage A" } ``` -------------------------------- ### PUT /installations/{installationId}/mode/zaptec Source: https://docs.zaptec.com/page/endpoints-added Switches an installation back to Zaptec authentication. ```APIDOC ## PUT /installations/{installationId}/mode/zaptec ### Description Switches an installation back to Zaptec authentication. ### Method PUT ### Endpoint /installations/{installationId}/mode/zaptec ### Parameters #### Path Parameters - **installationId** (string) - Required - The unique identifier of the installation. #### Request Body - **requireAuthorization** (boolean) - Optional - Configuration for authorization requirement. - **disableAuthorizationWhenOffline** (boolean) - Optional - Configuration for offline behavior. ``` -------------------------------- ### Installation Response Schema Source: https://docs.zaptec.com/reference/api_installation_id_get The JSON structure returned by the API when a request is successful. ```JSON { "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "name": "string", "address": "string", "zipCode": "string", "city": "string", "countryId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "vatNumber": "string", "contactEmail": "string", "installationType": 0, "maxCurrent": 0, "availableCurrent": 0, "availableCurrentPhase1": 0, "availableCurrentPhase2": 0, "availableCurrentPhase3": 0, "availableCurrentMode": 0, "availableCurrentScheduleWeekendActive": true, "threeToOnePhaseSwitchCurrent": 0, "defaultThreeToOneSwitchCurrent": 0, "installationCategoryId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "installationCategory": "string", "useLoadBalancing": true, "isRequiredAuthentication": true, "latitude": 0, "longitude": 0, "notes": "string", "active": true, "networkType": 0, "availableInternetAccessPLC": true, "availableInternetAccessWiFi": true, "createdOnDate": "2026-09-02T18:38:09.780Z", "updatedOn": "2026-09-02T18:38:09.780Z", "currentUserRoles": 0, "authenticationType": 0, "webhooksAuthPayload": "string", "webhooksAuthUrl": "string", "webhooksSessionStartUrl": "string", "webhooksSessionEndUrl": "string", "messagingEnabled": true, "routingId": "string", "ocppCloudUrl": "string", "ocppCloudUrlVersion": 0, "ocppInitialChargePointPassword": "string" } ``` -------------------------------- ### Triggering a StatusNotification Source: https://docs.zaptec.com/docs/ocpp-triggermessage-command Examples of the initial StatusNotification, the TriggerMessage request, and the resulting triggered response. ```json { "messageTypeId": 3, "uniqueId": "12345", "action": "StatusNotification", "payload": { "connectorId": 1, "status": "Available", "errorCode": "NoError", "timestamp": "2023-08-05T12:34:56Z" } } ``` ```json { "messageTypeId": 2, "uniqueId": "67890", "action": "TriggerMessage", "payload": { "requestedMessage": "StatusNotification", "connectorId": 1 } } ``` ```json { "messageTypeId": 3, "uniqueId": "67890", "action": "StatusNotification", "payload": { "connectorId": 1, "status": "Available", "errorCode": "NoError", "timestamp": "2023-08-05T12:36:00Z" } } ``` -------------------------------- ### POST /chargers/{chargerId}/onboarding Source: https://docs.zaptec.com/page/endpoints-added Initiates the onboarding process for a specific charger. ```APIDOC ## POST /chargers/{chargerId}/onboarding ### Description Initiates the onboarding process for a specific charger. ### Method POST ### Endpoint /chargers/{chargerId}/onboarding ``` -------------------------------- ### POST /chargers/{chargerId}/onboarding Source: https://docs.zaptec.com/reference/post_chargers-chargerid-onboarding Onboards a charger for OCPP by updating the charger's installation authentication mode to OCPP using the provided ocppUrl. ```APIDOC ## POST /chargers/{chargerId}/onboarding ### Description Onboards a charger for OCPP by updating the charger's installation authentication mode to OCPP using the provided `ocppUrl`. If `chargeBoxId` is provided, the endpoint also updates the charger setting for ChargeBoxId. ### Method POST ### Endpoint http://integrations.api.prod.zaptec.com/chargers/{chargerId}/onboarding ### Parameters #### Path Parameters - **chargerId** (uuid) - Required - The unique identifier of the charger. #### Request Body - **ocppUrl** (string) - Required - A valid WebSocket URL (ws:// or wss://). - **chargeBoxId** (string | null) - Required - The ChargeBoxId setting for the charger. ### Response #### Success Response (204) - No Content ``` -------------------------------- ### POST /chargers/{chargerId}/onboarding Source: https://docs.zaptec.com/page/endpoints-added Simplifies initial OCPP provisioning by enabling OCPP authentication mode, configuring the Central System URL, and optionally setting the ChargeBoxId. ```APIDOC ## POST /chargers/{chargerId}/onboarding ### Description Simplifies initial OCPP provisioning by combining multiple configuration steps into a single request. ### Method POST ### Endpoint /chargers/{chargerId}/onboarding ### Parameters #### Path Parameters - **chargerId** (string) - Required - The unique identifier of the charger. ``` -------------------------------- ### Define OCPP URL Template Source: https://docs.zaptec.com/docs/legacy-ocpp-behavior Example of an installation-level URL template and its resolved form using a Device ID. ```text wss://some.demo.server:443/zaptec/{deviceId} ``` ```text wss://some.demo.server:443/zaptec/ZAPP12345 ``` -------------------------------- ### Access Request URL Example Source: https://docs.zaptec.com/docs/step-by-step-flow-granting-third-party-access-to-user-installations-via-lookup-key A sample URL structure for initiating an access request with query parameters. ```text https://portal.zaptec.com/access/request/BSJG?partnerName=Integration&lang=en&returnUrl=https://yourapp.com/access-result&installationtype=1 ``` -------------------------------- ### GET /api/chargers Source: https://docs.zaptec.com/reference/charger Retrieves a list of charge points. The response includes details such as device ID, name, installation information, and current operating mode. ```APIDOC ## GET /api/chargers ### Description Retrieves a list of charge points associated with the user. This endpoint returns a paginated list of charger objects containing configuration and status information. ### Method GET ### Endpoint https://api.zaptec.com/api/chargers ### Response #### Success Response (200) - **pages** (object) - Pagination metadata - **data** (array) - List of charge point objects #### Response Example { "data": [ { "id": "uuid", "deviceId": "string", "name": "string", "active": true, "operatingMode": 3, "isOnline": true } ] } ``` -------------------------------- ### GET /chargers Source: https://docs.zaptec.com/reference/api_chargers_get Retrieves a list of chargers. The response includes pagination metadata and an array of charger objects containing device configuration, status, and installation information. ```APIDOC ## GET /chargers ### Description Retrieves a paginated list of charger devices associated with the user or account. ### Method GET ### Endpoint /chargers ### Response #### Success Response (200) - **pages** (integer) - Total number of pages available. - **totalCount** (integer) - Total number of chargers. - **data** (array) - List of charger objects. #### Response Example { "pages": 0, "totalCount": 0, "data": [ { "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "deviceId": "string", "name": "string", "createdOnDate": "2026-09-02T18:38:08.952Z", "circuitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "active": true, "currentUserRoles": 0, "pin": "string", "templateId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "propertyOcppUrl": "string", "propertyOcppPassword": "string", "propertyPinOfflinePhase": true, "propertyAuthenticationDisabled": true, "hasSessions": true, "propertyOfflinePhaseOverride": 0, "propertyOfflineCurrentOverride": 0, "propertyOcppVerboseLogUntil": "2026-09-02T18:38:08.952Z", "propertyOcppDefaultIdTag": "string", "propertyOcppWebSocketPingInterval": 0, "propertyPrioritizedCurrent": 0, "propertyPrioritizedPhases": 1, "propertyMaxSinglePhaseChargeCurrent": 0, "propertyOcppAvailability": 0, "propertyOcppOfflineListVersion": 0, "signedMeterValueKwh": 0, "signedMeterValue": "string", "signedSessionEichrecht": "string", "deviceType": 0, "installationName": "string", "installationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "installationActive": true, "installationType": 0, "authenticationType": 0, "currentUserInstallationRoles": 0, "isAuthorizationRequired": true, "currentUserHasServiceLevelTechnicalReadAccess": true, "operatingMode": 0, "isOnline": true } ] } ``` -------------------------------- ### GET /api/userGroups/{id}/messagingConnectionDetails Source: https://docs.zaptec.com/reference/api_usergroups_id_messagingconnectiondetails_get Retrieves connection details for subscribing to live AMQP 1.0 charger events for installations within the specified user group. ```APIDOC ## GET /api/userGroups/{id}/messagingConnectionDetails ### Description Retrieves connection details for subscribing to live AMQP 1.0 charger events for installations within the specified user group (requires owner or service permissions). ### Method GET ### Endpoint https://api.zaptec.com/api/userGroups/{id}/messagingConnectionDetails ### Parameters #### Path Parameters - **id** (uuid) - Required - User Group ID ### Response #### Success Response (200) - **type** (int32) - 0 = Amqp10 - **host** (string | null) - Host address - **port** (int32) - Port number - **useSSL** (boolean) - Whether to use SSL - **username** (string | null) - Username for connection - **password** (string | null) - Password for connection - **topic** (string | null) - Messaging topic - **subscription** (string | null) - Messaging subscription #### Response Example { "type": 0, "host": "string", "port": 0, "useSSL": true, "username": "string", "password": "string", "topic": "string", "subscription": "string" } ``` -------------------------------- ### GET https://api.zaptec.com/api/sessions/archived Source: https://docs.zaptec.com/reference/api_sessions_archived_get Retrieves completed charge sessions accessible by the current user, filtered by date range and exactly one of: an installation, a single charger, or an authorized user. ```APIDOC ## GET https://api.zaptec.com/api/sessions/archived ### Description Retrieves completed charge sessions accessible by the current user, filtered by date range and exactly one of: an installation, a single charger, or an authorized user. Results are returned in cursor-paginated pages. ### Method GET ### Endpoint https://api.zaptec.com/api/sessions/archived ### Parameters #### Query Parameters - **From** (date-time) - Required - Inclusive lower bound for session end time. - **To** (date-time) - Required - Exclusive upper bound for session end time, must be after `from`. - **InstallationId** (uuid) - Optional - Installation to list sessions for. Exactly one of `installationId`, `chargerId` or `authorizedUserId` is required. - **ChargerId** (uuid) - Optional - Single charger to list sessions for. Exactly one of `installationId`, `chargerId` or `authorizedUserId` is required. - **AuthorizedUserId** (uuid) - Optional - User whose sessions to list. Exactly one of `installationId`, `chargerId` or `authorizedUserId` is required. - **PageSize** (int32) - Optional - Page size. Default 50, max 200. - **Order** (int32) - Optional - Sort order. 0 = RecognizedTimeAscending, 1 = RecognizedTimeDescending. - **Cursor** (string) - Optional - Opaque cursor from a previous response's `cursor` field. #### Headers - **accept** (string) - Optional - Defaults to application/json. Allowed: application/json, application/problem+json ``` -------------------------------- ### POST https://api.zaptec.com/api/chargehistory/installationreport Source: https://docs.zaptec.com/reference/api_chargehistory_installationreport_post Retrieves a usage report based on the provided filters. Requires installation owner permissions. ```APIDOC ## POST https://api.zaptec.com/api/chargehistory/installationreport ### Description Retrieves a usage report based on the provided filters (requires installation owner permissions). ### Method POST ### Endpoint https://api.zaptec.com/api/chargehistory/installationreport ### Parameters #### Request Body - **fromDate** (date-time) - Optional - Start date for the report. - **endDate** (date-time) - Optional - End date for the report. - **installationId** (uuid) - Optional - The ID of the installation. - **userIds** (array of uuids) - Optional - List of user IDs to filter by. - **chargerIds** (array of uuids) - Optional - List of charger IDs to filter by. - **groupBy** (int32) - Optional - Grouping criteria: 0 = User, 1 = Charger, 2 = ChargeCardName. - **reportFormat** (int32) - Optional - Format of the report: 0 = Summary, 1 = Detailed. ### Response #### Success Response (200) - **installationName** (string) - Name of the installation. - **installationAddress** (string) - Address of the installation. - **installationZipCode** (string) - Zip code of the installation. - **installationCity** (string) - City of the installation. - **installationTimeZone** (string) - Time zone of the installation. - **groupedBy** (string) - The grouping criteria used. - **fromdate** (date-time) - Start date of the report. - **enddate** (date-time) - End date of the report. - **totalUserChargerReportModel** (array of objects) - List of report data entries. ### Response Example { "installationName": "string", "installationAddress": "string", "installationZipCode": "string", "installationCity": "string", "installationTimeZone": "string", "groupedBy": "string", "fromdate": "2026-09-02T18:38:08.911Z", "enddate": "2026-09-02T18:38:08.911Z", "totalUserChargerReportModel": [ { "groupAsString": "string", "userDetails": {}, "totalChargeSessionCount": 0, "totalChargeSessionEnergy": 0, "totalChargeSessionDuration": 0 } ] } ``` -------------------------------- ### Installation Report Response Schema Source: https://docs.zaptec.com/reference/api_chargehistory_installationreport_post JSON structure returned by the API upon a successful 200 OK response. ```JSON { "installationName": "string", "installationAddress": "string", "installationZipCode": "string", "installationCity": "string", "installationTimeZone": "string", "groupedBy": "string", "fromdate": "2026-09-02T18:38:08.911Z", "enddate": "2026-09-02T18:38:08.911Z", "totalUserChargerReportModel": [ { "groupAsString": "string", "userDetails": { "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "email": "string", "fullName": "string" }, "totalChargeSessionCount": 0, "totalChargeSessionEnergy": 0, "totalChargeSessionDuration": 0 } ] } ``` -------------------------------- ### PUT /installations/{installationId}/mode/ocpp Source: https://docs.zaptec.com/reference/installations Enables OCPP authentication mode for a specific installation. Note that this operation sets Zaptec load balancing on the installation to false. ```APIDOC ## PUT /installations/{installationId}/mode/ocpp ### Description Enables OCPP authentication mode for an installation. This operation requires an OCPP central system URL and disables Zaptec load balancing for the installation. ### Method PUT ### Endpoint http://integrations.api.prod.zaptec.com/installations/{installationId}/mode/ocpp ### Parameters #### Path Parameters - **installationId** (uuid) - Required - The unique identifier of the installation. #### Request Body - **ocppUrl** (string) - Required - The OCPP central system URL. ### Response #### Success Response (204) - No Content #### Error Responses - **400** Bad Request - **401** Unauthorized - **403** Forbidden - **404** Not Found - **500** Internal Server Error ``` -------------------------------- ### GET /api/chargehistory Source: https://docs.zaptec.com/reference/api_chargehistory_get Retrieves a list of charging sessions. ```APIDOC ## GET /api/chargehistory ### Description Retrieves a paginated list of charging sessions recorded by the system. ### Method GET ### Endpoint https://api.zaptec.com/api/chargehistory ### Response #### Success Response (200) - **pages** (int32) - Pagination information. - **totalCount** (int32) - Total number of rows across all pages. - **data** (array) - List of session objects. #### Response Example { "totalCount": 1, "data": [ { "id": "uuid", "deviceId": "string", "startDateTime": "date-time", "energy": 0.0, "userFullName": "string" } ] } ``` -------------------------------- ### GET /api/sessions/archived Source: https://docs.zaptec.com/reference/api_sessions_archived_get Retrieves a list of archived charging sessions. ```APIDOC ## GET /api/sessions/archived ### Description Retrieves a list of archived charging sessions. ### Method GET ### Endpoint https://api.zaptec.com/api/sessions/archived ### Response #### Success Response (200) - **sessions** (array) - List of archived session objects - **cursor** (string) - Pagination cursor - **hasMore** (boolean) - Indicates if there are more results available #### Response Example { "sessions": [ { "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "externalId": "string", "replacedBySessionId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "authorizedUser": { "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "email": "string", "fullName": "string" }, "tokenName": "string", "chargerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "deviceId": "string", "deviceName": "string", "chargerFirmwareVersion": "string", "chargerDeviceType": 0, "installationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "installationName": "string", "startDateTime": "2026-09-02T18:38:12.181Z", "endDateTime": "2026-09-02T18:38:12.181Z", "recognizedDateTime": "2026-09-02T18:38:12.181Z", "offline": true, "reliableClock": true, "stoppedByRfid": true, "signed": true, "voided": true, "aborted": true, "ocppNative": true, "externallyAbandoned": true, "sessionSignature": "string", "sessionSignatureEichreicht": "string", "energy": 0, "energyDetails": [ { "timestamp": "2026-09-02T18:38:12.181Z", "energy": 0 } ] } ], "cursor": "string", "hasMore": true } ```