---
title: "Update a site"
method: PATCH
path: "/api/v1/energy/sites/{siteId}"
tags: ["Energy Sites"]
---

# Update a site

`PATCH /api/v1/energy/sites/{siteId}`

Required scope: `energy:write`

🚧 **BETA** — This endpoint is currently in the BETA phase and its response structure may change in the future.

📘 **Feature flag required** — This endpoint is not available by default. It must be explicitly enabled for your operator account upon request. Please contact your Monta Business Partner to request access to this feature.

## Path parameters

- `siteId` integer, required

## Request body

- SetSiteRequest
  - `name` string, required
  - `siteConfig` SiteConfigRequest, required
    - `countryArea` string, nullable
    - `timeZoneId` string, required
    - `defaultChargeIntent` ChargeIntent, required
      - `type` 'PRICE_OPTIMIZE' | 'CHARGE_NOW', required
      - `departureTime` string, partial-time, nullable
      - `target` Target
        - `soc` number, double, nullable
        - `kwh` number, double, nullable
      - `scheduleOverrides` ScheduleOverride[], required
        - `id` string, nullable
        - `startDay` 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY', required
        - `startTime` string, partial-time, required
        - `endDay` 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY', required
        - `endTime` string, partial-time, required
        - `type` 'PRICE_OPTIMIZE' | 'CHARGE_NOW', required
        - `departureDay` 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY'
        - `departureTime` string, partial-time, nullable
        - `target` Target
          - `soc` number, double, nullable
          - `kwh` number, double, nullable
    - `defaultBatteryCapacityKwh` number, double, nullable
    - `rampUpProtectionEnabled` boolean, required
    - `gridConnectionType` 'THREE_PHASE_230_400V' | 'THREE_PHASE_277_480V' | 'SPLIT_PHASE_120_240V', required
    - `vehicleAwareRampUpDurationSeconds` number, double, required
    - `subPrioritization` 'NONE' | 'ARRIVAL_TIME', required
  - `topNodeFuseLimitA` number, double, nullable
  - `operatorId` integer, nullable
  - `teamId` integer, nullable
  - `comment` string, required

## Response `200`

updateSite 200 response

- Site
  - `id` integer, required
  - `name` string, required
  - `isActive` boolean, required
  - `operatorId` integer, required
  - `teamId` integer, nullable
  - `siteConfig` SiteConfig
    - `countryArea` string, nullable
    - `timeZoneId` string, nullable
    - `defaultChargeIntent` ChargeIntent
      - `type` 'PRICE_OPTIMIZE' | 'CHARGE_NOW', required
      - `departureTime` string, partial-time, nullable
      - `target` Target
        - `soc` number, double, nullable
        - `kwh` number, double, nullable
      - `scheduleOverrides` ScheduleOverride[], required
        - `id` string, nullable
        - `startDay` 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY', required
        - `startTime` string, partial-time, required
        - `endDay` 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY', required
        - `endTime` string, partial-time, required
        - `type` 'PRICE_OPTIMIZE' | 'CHARGE_NOW', required
        - `departureDay` 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY'
        - `departureTime` string, partial-time, nullable
        - `target` Target
          - `soc` number, double, nullable
          - `kwh` number, double, nullable
    - `defaultBatteryCapacityKwh` number, double, nullable
    - `rampUpProtectionEnabled` boolean, required
    - `gridConnectionType` 'THREE_PHASE_230_400V' | 'THREE_PHASE_277_480V' | 'SPLIT_PHASE_120_240V'
    - `vehicleAwareRampUpDurationSeconds` number, double, nullable
    - `subPrioritization` 'NONE' | 'ARRIVAL_TIME'
  - `topNode` Node
    - `id` integer, required
    - `name` string, required
    - `fuseLimitA` number, double, nullable
    - `powerLimitW` number, double, nullable
    - `powerLimitSchedule` PowerLimitScheduleItem[], nullable
      - `dayOfWeek` string, required
      - `startTime` string, required
      - `endTime` string, required
      - `powerLimitW` number, double, required
    - `meter` Meter
      - `type` string, required
      - `properties` MeterProperties, required
        - `meterUuid` string, nullable
        - `chargePointIdentity` string, nullable
        - `isReceivingData` boolean, nullable
      - `meterValues` MeterValues
        - `measuredAt` string, required
        - `currentL1A` number, double, nullable
        - `currentL2A` number, double, nullable
        - `currentL3A` number, double, nullable
        - `voltageL1V` number, double, nullable
        - `voltageL2V` number, double, nullable
        - `voltageL3V` number, double, nullable
        - `powerL1W` number, double, nullable
        - `powerL2W` number, double, nullable
        - `powerL3W` number, double, nullable
        - `powerW` number, double, nullable
        - `kwh` number, double, nullable
        - `soc` number, double, nullable
        - `currentDcA` number, double, nullable
        - `voltageDcV` number, double, nullable
        - `powerDcW` number, double, nullable
    - `residualValues` MeterValues
      - `measuredAt` string, required
      - `currentL1A` number, double, nullable
      - `currentL2A` number, double, nullable
      - `currentL3A` number, double, nullable
      - `voltageL1V` number, double, nullable
      - `voltageL2V` number, double, nullable
      - `voltageL3V` number, double, nullable
      - `powerL1W` number, double, nullable
      - `powerL2W` number, double, nullable
      - `powerL3W` number, double, nullable
      - `powerW` number, double, nullable
      - `kwh` number, double, nullable
      - `soc` number, double, nullable
      - `currentDcA` number, double, nullable
      - `voltageDcV` number, double, nullable
      - `powerDcW` number, double, nullable
    - `nodes` Node[], nullable
    - `evses` Evse[], nullable
      - `chargingStationIdentity` string, required
      - `connectorId` integer, required
      - `phaseSetup` string, required
      - `minPowerW` number, double, nullable
      - `maxPowerW` number, double, nullable
      - `minCurrentA` number, double, nullable
      - `maxCurrentA` number, double, nullable
      - `charge` Charge1
        - `chargeId` integer, nullable
        - `ocppChargeId` string, required
        - `startTime` string, date-time, required
        - `meterValues` MeterValues
          - `measuredAt` string, required
          - `currentL1A` number, double, nullable
          - `currentL2A` number, double, nullable
          - `currentL3A` number, double, nullable
          - `voltageL1V` number, double, nullable
          - `voltageL2V` number, double, nullable
          - `voltageL3V` number, double, nullable
          - `powerL1W` number, double, nullable
          - `powerL2W` number, double, nullable
          - `powerL3W` number, double, nullable
          - `powerW` number, double, nullable
          - `kwh` number, double, nullable
          - `soc` number, double, nullable
          - `currentDcA` number, double, nullable
          - `voltageDcV` number, double, nullable
          - `powerDcW` number, double, nullable
        - `schedule` ChargeScheduleItem[], nullable
          - `start` string, required
          - `end` string, required
          - `currentA` number, double, required
          - `numberOfPhases` integer, required
          - `powerW` number, double, required
        - `chargeIntentInstance` ChargeIntentInstance
          - `intentSource` IntentSource, required
            - `type` string, required
            - `idTag` string, nullable
          - `type` string, required
          - `departureTime` string, date-time, nullable
          - `target` Target, required
            - `soc` number, double, nullable
            - `kwh` number, double, nullable
          - `priority` integer, required
        - `startingWh` integer, nullable
        - `startingSoc` number, double, nullable
        - `chargedWh` integer, nullable
        - `remainingKwh` number, double, nullable
        - `soc` number, double, nullable
        - `kwh` number, double, nullable
        - `vehicle` Vehicle
          - `vehicleId` string, required
          - `batteryCapacityKwh` number, double, required
          - `chargeIntent` ChargeIntent
            - `type` 'PRICE_OPTIMIZE' | 'CHARGE_NOW', required
            - `departureTime` string, partial-time, nullable
            - `target` Target
              - …
            - `scheduleOverrides` ScheduleOverride[], required
              - …
          - `integrationCapacityKwh` number, double, nullable
          - `maxKwAc` number, double, nullable
          - `maxKwDc` number, double, nullable
        - `maxObservedPowerW` number, double, nullable
        - `lastAllocatedCurrent` number, double, nullable
        - `lastAllocatedPowerW` number, double, nullable
        - `lastAllocatedAt` string, date-time, nullable
        - `estimatedEndTime` string, date-time, nullable
        - `ocppStatus` string, nullable
        - `ocppStatusAt` string, date-time, nullable
      - `zeroAllowed` boolean, required
      - `loadManagementDisabled` boolean, required
      - `phpChargerId` integer, nullable
      - `rampUpProtectionState` string, nullable
      - `externalPowerLimitW` number, double, nullable
      - `externalPowerLimitExpiresAt` string, date-time, nullable
      - `chargeIntentTemplate` ChargeIntent
        - `type` 'PRICE_OPTIMIZE' | 'CHARGE_NOW', required
        - `departureTime` string, partial-time, nullable
        - `target` Target
          - `soc` number, double, nullable
          - `kwh` number, double, nullable
        - `scheduleOverrides` ScheduleOverride[], required
          - `id` string, nullable
          - `startDay` 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY', required
          - `startTime` string, partial-time, required
          - `endDay` 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY', required
          - `endTime` string, partial-time, required
          - `type` 'PRICE_OPTIMIZE' | 'CHARGE_NOW', required
          - `departureDay` 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY'
          - `departureTime` string, partial-time, nullable
          - `target` Target
            - `soc` number, double, nullable
            - `kwh` number, double, nullable
    - `solarPanels` SolarPanel[], nullable
      - `id` integer, required
      - `nodeId` integer, required
      - `externalId` string, required
      - `latitude` number, double, required
      - `longitude` number, double, required
      - `declination` number, double, required
      - `azimuth` number, double, required
      - `peakProductionKw` number, double, required
      - `forecast` SolarForecastItem[], nullable
        - `endTimestamp` string, date-time, required
        - `solarProductionW` number, double, required
    - `bufferA` number, double, nullable
  - `prices` PriceItem[], nullable
    - `startTime` string, date-time, required
    - `endTime` string, date-time, required
    - `pricePerKWh` number, double, required
    - `currencyId` string, required
  - `solarForecast` SolarForecastItem[], nullable
    - `endTimestamp` string, date-time, required
    - `solarProductionW` number, double, required
  - `rfids` object, nullable
  - `vehicles` object, nullable
  - `comment` string, required
  - `phpSiteId` integer, nullable
  - `importedOcppGroupId` integer, nullable

## Other responses

- `400` — The request is invalid
- `401` — Consumer with provided credentials was not found
- `403` — Operator doesn't have access to resource
- `404` — Entity with the provided id was not found

---

[API](https://skmtc.net/monta/apis/monta-partner-api.md) · [All operations](https://skmtc.net/monta/apis/monta-partner-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/monta/monta-partner-api/revisions/517e18f11015/schema)
