Update Site

Update an existing site. All fields are optional — only provided fields are changed. > **Moving a site to a different account:** Use `POST /sites/{site_id}/move` instead. `accountId` cannot be changed on a site update. > **Note on `geoLocation` and `fullAddress`:** Sending either field on update triggers geocoding — the backend may overwrite the stored coordinates with what Google Maps snaps to for the nearest address, so the values you send may not be stored as-is. There is currently no way to update coordinates without allowing the geocoder to potentially adjust them.

Authentication

x-api-keystring
API Key authentication via header

Path parameters

site_idstringRequired

Request

This endpoint expects an object.
fullAddressstringOptional

Full address string. Backend will re-geocode when updated.

geoLocationstringOptional

Latitude/longitude as “lat,lng”. On update, sending this triggers a full re-geocode — the backend snaps to the nearest address via Google Maps, so the stored value may differ from what you sent.

titlestringOptional<=255 characters
streetstringOptional
citystringOptional
statestringOptional
zipcodestringOptional
timezonestringOptional

IANA timezone string (e.g. “America/Los_Angeles”). Use this to manually override the timezone if the geocoded value is incorrect or you are migrating from a system that has an explicit timezone already set.

Response

Site updated successfully
idintegerOptional
Unique site ID.
accountIdintegerOptional
ID of the account this site belongs to.
titlestring or nullOptional

Human-readable label for the site (e.g. “Main Office”).

fullAddressstring or nullOptional
Full formatted address string.
streetstring or nullOptional
citystring or nullOptional
statestring or nullOptional
zipcodestring or nullOptional
geoLocationstring or nullOptional

Latitude/longitude as “lat,lng” (e.g. “37.7749,-122.4194”).

timezonestring or nullOptional

IANA timezone string (e.g. “America/Los_Angeles”).

createdAtstring or nullOptionalformat: "date-time"
updatedAtstring or nullOptionalformat: "date-time"

Errors

400
Bad Request Error
401
Unauthorized Error
404
Not Found Error