Skip to main content
POST
/
v3
/
sites
Create Location
curl --request POST \
  --url https://app.plugchoice.com/api/v3/sites \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "team_uuid": "<string>",
  "name": "<string>",
  "street": "<string>",
  "house_number": 123,
  "house_number_addition": "<string>",
  "postal_code": "<string>",
  "city": "<string>",
  "country": "<string>",
  "manual_coordinates": true,
  "latitude": 123,
  "longitude": 123
}
'
{
  "uuid": "<string>",
  "id": 123,
  "name": "<string>",
  "address": "<string>",
  "street": "<string>",
  "postal_code": "<string>",
  "house_number": 123,
  "house_number_addition": "<string>",
  "city": "<string>",
  "country": "<string>",
  "tariff_zone": "<string>",
  "latitude": 123,
  "longitude": 123,
  "manual_coordinates": true,
  "access_level": "<string>",
  "smart_charging": "<string>",
  "chargers_count": 123,
  "capabilities": {
    "smart_charging": true,
    "load_management": {
      "dynamic": true,
      "peak_shaving": true,
      "solar": true
    }
  },
  "created_at": "<string>",
  "updated_at": "<string>",
  "permissions": {
    "basic": true,
    "sensitive": true,
    "full": true
  }
}
Creates a new location and assigns it to the authenticated user’s team. If the user does not have a team, a personal team is automatically created.
team_uuid
string
The UUID of the team to assign the location to. Must be a team the authenticated user belongs to. If omitted, the location is assigned to the user’s first team.
name
string
required
The name of the location. Maximum 255 characters.
street
string
required
The street name. Maximum 255 characters.
house_number
number
required
The house number. Must be 0 or greater.
house_number_addition
string
The house number addition (e.g., “A”, “B”). Maximum 255 characters.
postal_code
string
required
The postal code. Maximum 255 characters.
city
string
required
The city name. Maximum 255 characters.
country
string
required
The ISO 3166-1 alpha-2 country code (e.g., “NL”, “DE”). Maximum 2 characters.
manual_coordinates
boolean
Whether the location’s coordinates are set manually. When true, latitude and longitude are required; otherwise the coordinates are geocoded from the address.
latitude
number
The latitude of the location. Must be between -90 and 90. Required when manual_coordinates is true.
longitude
number
The longitude of the location. Must be between -180 and 180. Required when manual_coordinates is true.

Response

uuid
string
The unique UUID of the location.
id
integer
The numeric ID of the location.
name
string
The name of the location.
address
string
The full formatted address of the location.
street
string
The street name.
postal_code
string
The postal code.
house_number
integer
The house number.
house_number_addition
string
The house number addition. May be null.
city
string
The city name.
country
string
The ISO 3166-1 alpha-2 country code.
tariff_zone
string
The tariff zone key used for day-ahead pricing lookups. May be null.
latitude
number
The latitude of the location. May be null.
longitude
number
The longitude of the location. May be null.
manual_coordinates
boolean
Whether the location’s coordinates were set manually rather than geocoded automatically.
access_level
string
The access level of the location. One of closed, app_users, or roaming.
smart_charging
string
The smart charging mode of the location. One of disabled, off_peak, or day_ahead_pricing.
chargers_count
integer
The number of chargers assigned to this location.
capabilities
object
The location’s available capabilities based on licensing.
created_at
string
ISO 8601 timestamp of when the location was created.
updated_at
string
ISO 8601 timestamp of when the location was last updated.
permissions
object
The authenticated user’s permissions for this location.