Sites endpoints
Full CRUD support for site records via the public API.
Sites are address/location records that belong to an account. A single account may have multiple sites.
Endpoints
Create a site
accountId is required. Either fullAddress or geoLocation must also be provided. The backend automatically geocodes fullAddress and checks for duplicate addresses — if a site with the same address already exists for the same account, the existing site is returned (200) instead of creating a duplicate.
List sites by account
Update a site
All fields are optional. Updating fullAddress triggers re-geocoding. To move a site to a different account, use POST /sites/{siteId}/move.
Move a site to a different account
Moves the site and all associated records to a different account. The original site is permanently deleted and a new site is created on the target account. ⚠️ This operation is irreversible.
