> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.coperniq.io/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.coperniq.io/_mcp/server.

## Utilities

### New: Utility endpoints

Read and update the global utility list, mirroring the existing AHJ endpoints — utilities are seeded globally with no per-company scoping except for the custom properties.

| Method  | Path                      | Description                                                                   |
| ------- | ------------------------- | ----------------------------------------------------------------------------- |
| `GET`   | `/utilities`              | List utilities (pagination, filtering, sorting, or geo lookup by `lat`+`lng`) |
| `GET`   | `/utilities/{utility_id}` | Get a utility by ID                                                           |
| `PATCH` | `/utilities/{utility_id}` | Update custom property values on a utility                                    |

#### Notes

* List filters: `q` (name/holding company/state), `state`, `ownership_type`, `order_by`, and geo mode via `lat`+`lng` (both required together) to find every utility whose service territory covers a point.
* `ownership_type` accepts `INVESTOR`, `MUNICIPAL`, `MUNICIPAL_MARKETING_AUTHORITY`, `COOPERATIVE`, `FEDERAL`, `STATE`, `POLITICAL`, `COMMUNITY_CHOICE_AGGREGATOR`, `WHOLESALE_POWER_MARKETER`, or `OTHER`.
* Only active utilities are returned. Most fields (`name`, `state`, `ownershipType`, `holdingCompany`, etc.) are read-only catalog data; only fields under `custom` can be updated via `PATCH`, same as AHJs.
* `GET /properties?record_type=utility` returns customer-defined custom columns for utilities, same shape as the existing `ahj` record type.