---
title: "Installations"
method: GET
path: "/api/installation"
tags: ["Installation"]
---

# Installations

`GET /api/installation`

Retrieves all installations accessible by the current user, matching the provided filters.


By default, returns the first 50 items. Use <b>pageIndex</b> for pagination or adjust <b>pageSize</b> (max: 100).

## Query parameters

- `Roles` 0 | 1 | 2 | 4 | 8 | 15 | 16 | 32 | 64 | 128 | 256 — 0 = None 1 = User 2 = Owner 4 = Maintainer 8 = Administrator 15 = Any 16 = Onboarding 32 = DeviceAdministrator 64 = PartnerAdministrator 128 = Technical 256 = InternalData
- `InstallationType` 0 | 1 — 0 = Pro 1 = Smart
- `ExcludeIfVisibleForUserGroupLookupKey` string
- `NameFilter` string
- `ReturnIdNameOnly` boolean
- `SortProperty` string
- `SortDescending` boolean
- `PageSize` integer
- `PageIndex` integer
- `IncludeDisabled` boolean
- `Exclude` string[]
- `PageInfoOnly` boolean

## Response `200`

OK

- InstallationModelPagedData
  - `pages` integer
  - `data` InstallationModel[], nullable
    - `id` string, uuid
    - `name` string, nullable
    - `address` string, nullable
    - `zipCode` string, nullable
    - `city` string, nullable
    - `countryId` string, uuid, nullable
    - `vatNumber` string, nullable
    - `contactEmail` string, nullable
    - `installationType` 0 | 1 — 0 = Pro 1 = Smart
    - `maxCurrent` number, double, nullable
    - `availableCurrent` number, double, nullable
    - `availableCurrentPhase1` number, double, nullable
    - `availableCurrentPhase2` number, double, nullable
    - `availableCurrentPhase3` number, double, nullable
    - `availableCurrentMode` 0 | 1 | 2 — AvailableCurrentMode has been replaces by EnabledFeatures, but is still used in API 0 = Manual 1 = Schedule 2 = Auto
    - `availableCurrentScheduleWeekendActive` boolean, nullable
    - `threeToOnePhaseSwitchCurrent` number, double, nullable
    - `defaultThreeToOneSwitchCurrent` number, double
    - `installationCategoryId` string, uuid, nullable
    - `installationCategory` string, nullable
    - `useLoadBalancing` boolean, nullable — This indicates whether load balancing should be enabled for the installation. Defaults to `true` for Zaptec.ZapCloud.Domain.Models.InstallationAuthenticationType.Native, Zaptec.ZapCloud.Domain.Models.InstallationAuthenticationType.WebHooks, and Zaptec.ZapCloud.Domain.Models.InstallationAuthenticationType.Ocpp. For Zaptec.ZapCloud.Domain.Models.InstallationAuthenticationType.OcppNative, defaults to `false` depending on the charger's load balancing capability. Not all chargers support load balancing over OCPP natively; the capability is determined by the charger's feature support in its firmware. If a charger does not currently have load balancing support, updating its firmware to a newer version may enable this capability.
    - `isRequiredAuthentication` boolean, nullable
    - `latitude` number, double, nullable
    - `longitude` number, double, nullable
    - `notes` string, nullable
    - `active` boolean, nullable
    - `networkType` 0 | 1 | 2 | 3 | 4 — 0 = Unknown 1 = IT_1_Phase 2 = IT_3_Phase 3 = TN_1_Phase 4 = TN_3_Phase
    - `availableInternetAccessPLC` boolean, nullable
    - `availableInternetAccessWiFi` boolean, nullable
    - `createdOnDate` string, date-time, nullable
    - `updatedOn` string, date-time, nullable
    - `currentUserRoles` 0 | 1 | 2 | 4 | 8 | 15 | 16 | 32 | 64 | 128 | 256 — 0 = None 1 = User 2 = Owner 4 = Maintainer 8 = Administrator 15 = Any 16 = Onboarding 32 = DeviceAdministrator 64 = PartnerAdministrator 128 = Technical 256 = InternalData
    - `authenticationType` 0 | 1 | 2 | 3 — 0 = Native 1 = WebHooks 2 = Ocpp 3 = OcppNative
    - `webhooksAuthPayload` string, nullable
    - `webhooksAuthUrl` string, nullable
    - `webhooksSessionStartUrl` string, nullable
    - `webhooksSessionEndUrl` string, nullable
    - `messagingEnabled` boolean, nullable
    - `routingId` string, nullable
    - `ocppCloudUrl` string, nullable
    - `ocppCloudUrlVersion` 0 | 1 — 0 = Legacy 1 = Ocpp16Compliant
    - `ocppInitialChargePointPassword` string, nullable
    - `ocppCentralSystemUrl` string, nullable
    - `timeZoneName` string, nullable — Time zone display name
    - `timeZoneIanaName` string, nullable — IANA time zone identifier
    - `updateStatusCode` 0 | 1 — 0 = Ok 1 = EcoScheduleUpdated
    - `notifications` 0 | 1 | 2 — 0 = None 1 = ServicePaymentPastDue 2 = ServicePaymentUnpaid
    - `isSubscriptionsAvailableForCurrentUser` boolean, nullable
    - `installationUsers` InstallationUserModel[], nullable
      - `userId` string, uuid, nullable — The unique identifier for the authorized user, or null if unauthorized or authorized by 3rd party.
      - `userFullName` string, nullable — The full name of the authorized user, or null if unauthorized or authorized by 3rd party.
      - `userEmail` string, nullable — The email of the authorized user, or null if unauthorized or authorized by 3rd party.
      - `userTokens` string[], nullable — The RFID tokens used to authorize sessions.
    - `hasUserGroupWithAllowOcppNative` boolean, nullable — Indicates whether the installation has a user group connected with permissions for enabling OCPP 1.6J
    - `currentUserHasServiceLevelTechnicalReadAccess` boolean, nullable — Service-level entitlement flag (not a regular role/permission): `true` when the current user is entitled to TechnicalRead (debug-log) access on this installation. The entitlement is granted through a user group that carries the Zaptec.ZapCloud.Domain.Models.ServiceLevel.TechnicalRead service level and has an effective Owner permission on the installation (including inherited and wildcard targets). Used by the frontend to decide whether to surface relevant UI. `null` unless explicitly requested (opt-in).
    - `availableFeatures` 0 | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 65536 | 131072 — 0 = None 1 = Api_MessageSubscription 2 = Authentication_Internal 4 = PowerManagement_Apm 8 = PowerManagement_EcoMode 16 = PowerManagement_Schedule 32 = PowerManagement_Apm_PowerLimit 64 = Connectivity_4G 128 = Authentication_Ocpp 256 = PowerManagement_Apm_Tariff_PowerLimit 512 = Authentication_OcppNative 65536 = PowerManagement_Apm_Tic 131072 = PowerManagement_Apm_SurplusMode
    - `enabledFeatures` 0 | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 65536 | 131072 — 0 = None 1 = Api_MessageSubscription 2 = Authentication_Internal 4 = PowerManagement_Apm 8 = PowerManagement_EcoMode 16 = PowerManagement_Schedule 32 = PowerManagement_Apm_PowerLimit 64 = Connectivity_4G 128 = Authentication_Ocpp 256 = PowerManagement_Apm_Tariff_PowerLimit 512 = Authentication_OcppNative 65536 = PowerManagement_Apm_Tic 131072 = PowerManagement_Apm_SurplusMode
    - `activeChargerCount` integer, nullable
    - `feature_PowerManagement_EcoMode_DepartureTime` integer, nullable
    - `feature_PowerManagement_EcoMode_MinEnergy` number, double, nullable
    - `feature_PowerManagement_EcoMode_DeliveryArea` 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 — 0 = Unknown 1 = NO1 2 = NO2 3 = NO3 4 = NO4 5 = NO5 6 = SE1 7 = SE2 8 = SE3 9 = SE4 10 = DK1 11 = DK2 12 = FI 13 = NL 14 = BE
    - `feature_PowerManagement_Apm_PowerBudgetKw` number, double, nullable
    - `feature_PowerManagement_Apm_PowerRolloverPercentage` number, double, nullable
    - `feature_PowerManagement_Apm_EvaluationMinutes` number, double, nullable
    - `propertyTariffKwhLimit` number, double, nullable
    - `propertyIsMinimumPowerOfflineMode` boolean, nullable
    - `propertyOfflineModeAllowAnonymous` boolean, nullable
    - `propertyEnergySensorUniqueId` string, nullable
    - `energySensor` SensorModel
      - `uniqueId` string, nullable, required
      - `type` 0 | 1 | 3 — 0 = Unknown 1 = Energy 3 = EnergyWithRipple
      - `provider` string, nullable, required
      - `vendor` string, nullable
      - `model` string, nullable
      - `serialNo` string, nullable, required
      - `id` string, uuid, nullable
    - `propertyMainFuseCurrent` number, double, nullable
    - `propertyEnergySensorTransmitInterval` integer, nullable
    - `propertyEnergySensorTransmitThreshold` number, double, nullable
    - `propertyEnergySensorAverage` integer, nullable
    - `propertyMinimumAvailableCurrentPhase1` number, double, nullable
    - `propertyMinimumAvailableCurrentPhase2` number, double, nullable
    - `propertyMinimumAvailableCurrentPhase3` number, double, nullable
    - `propertyLockToMinimumAvailableCurrent` boolean, nullable
    - `propertyOcppDefaultIdTag` string, nullable
    - `propertyEnergySensorRippleEnabled` boolean, nullable
    - `propertyEnergySensorRippleNumBits` integer, nullable
    - `propertyEnergySensorRipplePercentBits00` integer, nullable
    - `propertyEnergySensorRipplePercentBits01` integer, nullable
    - `propertyEnergySensorRipplePercentBits10` integer, nullable
    - `propertyHomeApmOrdered` boolean, nullable
    - `propertyEnergySensorScalingFactor` number, double, nullable
    - `propertyEnergySensorIsOffline` boolean, nullable
    - `powerLimitKw` number, double, nullable
    - `powerFactor` number, double, nullable
    - `tic` TicConfigurationModel
      - `enabled` boolean, nullable
    - `chargePowerLimitKw` number, double, nullable
    - `surplusMode` SurplusConfigurationModel
      - `active` boolean — If surplus mode is currently activated for installation. Calculated fields that checks: - Installation active - Feature PowerManagement_Apm enabled - Feature PowerManagement_Apm_SurplusMode available - SurplusMode available = true - SurplusMode enabled = true
      - `available` boolean, nullable
      - `enabled` boolean, nullable
      - `strategy` 0 | 1 — 0 = PartialPower 1 = Full
      - `partialPowerKw` number, double, nullable
    - `propertyFirmwareAutomaticUpdates` boolean, nullable
    - `propertyMaxSinglePhaseChargeCurrent` number, double, nullable
    - `propertySessionMaxStopCount` integer, nullable — The maximum number of times a session can be stopped before the charging station will stick to single phase charging. Note that start commands that require phase shifting will require a stop and will add to the counter.
    - `supportGroup` UserGroupModel
      - `id` string, uuid, nullable
      - `name` string, nullable
      - `createdOn` string, date-time, nullable
      - `updatedOn` string, date-time, nullable
      - `lookupKey` string, nullable
      - `currentUserRoles` 0 | 1 | 2 | 4 | 8 | 15 | 16 | 32 | 64 | 128 | 256 — 0 = None 1 = User 2 = Owner 4 = Maintainer 8 = Administrator 15 = Any 16 = Onboarding 32 = DeviceAdministrator 64 = PartnerAdministrator 128 = Technical 256 = InternalData
      - `protected` boolean
      - `serviceLevelSupport` boolean, nullable
      - `serviceLevelAllowOcppNative` boolean, nullable
      - `serviceLevelTechnicalRead` boolean, nullable
      - `serviceLevelAllowOcppMigrationToolAccess` boolean, nullable
      - `logoId` string, uuid, nullable
      - `logoContentType` string, nullable
      - `logoBase64` string, nullable
      - `supportUrl` string, nullable
      - `supportEmail` string, nullable
      - `supportPhone` string, nullable
      - `supportDetails` string, nullable
      - `propertyMessagingAllowed` boolean, nullable
      - `propertyMessagingEnabled` boolean, nullable
  - `message` string, nullable

## Other responses

- `401` — Unauthorized
- `403` — Forbidden

---

[API](https://skmtc.dev/zaptec/apis/zaptec-api.md) · [All operations](https://skmtc.dev/zaptec/apis/zaptec-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/zaptec/zaptec-api/revisions/6892fe4b8df5/schema)
