Locations
Read physical locations and the timezone configured on a property.
- Domain
- Services
- Kind
- Go HTTP service
- Lifecycle
- Active
- flowctl project
- None
- Stacks
- Runs on its own
- Source
- services/locations
Locations owns the physical location tree in Postgres. The existing read API returns individual locations, filtered lists, and batches of IDs. It has no write API.
Property timezone
The optional timezone field on a property stores an IANA timezone name, such as
America/New_York or Asia/Riyadh. A timezone name includes the rules for daylight
saving changes. It is not a fixed UTC offset.
The field is returned by the existing location endpoints and the generated Go client. It is omitted when unset. Non-property locations cannot store it; consumers read the property referenced by their lease rather than copying its timezone onto each unit or lease.
Existing properties are left unset by the migration. No timezone is inferred from a property name, region, server setting, or accounting calendar. Locations has no API for entering or correcting these values.
The database rejects non-property values, blank names, surrounding spaces, names
longer than 100 characters, and Local. It does not check the IANA catalog. The
generated client's LocationsLocationRecord.PropertyTimezone() resolves a name using Go's timezone
database and returns an error for an unset or unrecognized value or a non-property
record. Consumers must handle that error instead of assuming UTC or the host timezone.
Read endpoints
GET /v1/locations/{id}reads a location, including a retired location.GET /v1/locationslists active locations, with parent, subtree, and kind filters.GET /v1/locations?ids=...resolves a batch, including retired locations.