---
title: "Create a (charge) site"
method: POST
path: "/api/v1/sites"
tags: ["Sites"]
---

# Create a (charge) site

`POST /api/v1/sites`

Required scope: `charge-points:write` </br>Organization authorization: `supported`

## Request body

- CreateSite
  - `operatorId` integer, nullable — Id of the operator this site should be assigned to.</br>*Note*: if not provided the site will be assigned to the default operator for the given consumer.
  - `teamId` integer, required — Id of the team that the site belongs to
  - `name` string, required — Name of the site
  - `address` CreatedOrUpdateAddress, required — Address information
    - `address1` string, nullable — First line of address
    - `address2` string, nullable — Second line of address
    - `address3` string, nullable — Third line of address
    - `city` string, nullable — The city name
    - `zipCode` string, nullable — The address zip code
    - `countryId` integer, required — The country id.</br>*Note*: If the chosen countryId is under sanctions the request will get rejected.
    - `countryAreaId` integer, nullable — The country area id
  - `latitude` number, nullable — Latitude coordinate for the site location. Required when the address (address1/city/zipCode) is omitted. When provided along with `longitude`, overrides geocoding from address.
  - `longitude` number, nullable — Longitude coordinate for the site location. Required when the address (address1/city/zipCode) is omitted. When provided along with `latitude`, overrides geocoding from address.
  - `visibility` 'private' | 'public', required
  - `showOnMap` boolean, nullable — Whether this site should be visible on the consumer map. If omitted, the site will be visible on the map by default. This is independent of `visibility` — a `private` site can still be shown on the map, and a `public` site can be hidden.
  - `partnerExternalId` string, nullable — External Id of this entity, managed by you.
  - `partnerCustomPayload` object[], nullable — Custom JSON payload for this entity, managed by you.
  - `metadata` SiteMetadataRequest
    - `amenities` AmenityRequest[], nullable — List of amenities for the site
      - `attribute` 'ATM' | 'DIGITAL_CHARGE_PRICE_DISPLAY' | 'DRIVER_LOUNGE' | 'FUEL_STATION' | 'PARKING_AREA' | 'POWER_SUPPLY' | 'SHOWER' | 'VENDING_MACHINE' | 'WASHING_MACHINE' | 'WIFI' | 'ROOFED' | 'LIGHTING' | 'TOILETS' | 'CAFE' | 'CAFE_ADDRESS' | 'FOOD_DELIVERY' | 'FOOD_DELIVERY_ADDRESS' | 'HOTEL' | 'HOTEL_ADDRESS' | 'MALL' | 'MALL_ADDRESS' | 'MUSEUM' | 'MUSEUM_ADDRESS' | 'PARK' | 'PARK_ADDRESS' | 'OUTDOOR_GYM' | 'OUTDOOR_GYM_ADDRESS' | 'RECREATION_AREA' | 'RECREATION_AREA_ADDRESS' | 'RESTAURANT' | 'RESTAURANT_ADDRESS' | 'SUPERMARKET' | 'SUPERMARKET_ADDRESS' | 'AIRPORT' | 'BIKE_SHARING' | 'BUS_STOP' | 'CARPOOL_PARKING' | 'METRO_STATION' | 'TAXI_STAND' | 'TRAM_STOP' | 'SECURE_TRUCK_PARKING' | 'TRUCK_DEALERSHIP' | 'TRUCK_PARKING' | 'TRUCK_REPAIR' | 'TRUCK_WASH' | 'ACCESS_CONTROLLED_AREA' | 'CAMERA_SURVEILLANCE' | 'ENTRY_GATE' | 'EXIT_GATE' | 'FLOOD_LIGHTING' | 'GUARD' | 'LICENSE_PLATE_RECOGNITION' | 'PEDESTRIAN_TURNSTILES' | 'PERIMETER_FENCE' | 'PARKING_TYPE', required
      - `value` boolean, nullable — Amenity value
    - `energyMix` EnergyMixRequest
      - `isGreenEnergy` boolean, nullable — Indicates if the energy is green
      - `energySources` EnergySourceRequest[], nullable — List of energy sources with their category and percentage
        - `source` 'NUCLEAR' | 'GENERAL_FOSSIL' | 'COAL' | 'GAS' | 'GENERAL_GREEN' | 'SOLAR' | 'WIND' | 'WATER', required
        - `percentage` number, double — Percentage of this energy source (0–100)
      - `environImpact` EnvironmentalImpactRequest[], nullable — List of environmental impacts for this energy mix
        - `category` 'NUCLEAR_WASTE' | 'CARBON_DIOXIDE', required
        - `amount` number, double — Amount of environmental impact
      - `supplierName` string, nullable — Name of the energy supplier
      - `energyProductName` string, nullable — Name of the energy product
    - `openingHours` OpeningHoursRequest
      - `openingTimes` OpeningTimesRequest
        - `twentyFourSeven` boolean, nullable — Is the location open 24/7?
        - `regularHours` RegularHoursRequest[], nullable — List of regular weekly opening hours
          - `weekday` integer — Day of the week, from Monday (1) to Sunday (7)
          - `periodBegin` string, required — Period begin in HH:mm format
          - `periodEnd` string, required — Period end in HH:mm format
        - `exceptionalOpenings` ExceptionalPeriodRequest[], nullable — List of exceptional opening periods
          - `periodBegin` string, required — Period begin in ISO 8601 datetime format
          - `periodEnd` string, required — Period end in ISO 8601 datetime format
        - `exceptionalClosings` ExceptionalPeriodRequest[], nullable — List of exceptional closing periods
          - `periodBegin` string, required — Period begin in ISO 8601 datetime format
          - `periodEnd` string, required — Period end in ISO 8601 datetime format
      - `chargingWhenClosed` boolean, nullable — Indicates if charging is allowed when closed
    - `siteDeveloper` SiteDeveloperRequest
      - `name` string, nullable — Developer name
      - `email` string, email, nullable — Developer email
      - `companyRegistrationNumber` string, nullable — Company registration number
    - `pictures` string[], nullable — List of picture URLs for the site (max 4)
  - `note` string, nullable — A free-text note for this site, visible in the app.

## Response `201`

Site created

## 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/versions/517e18f11015/schema)
