WaterlyWaterlyConnect Developer Hub
API Guidedata-model:read

Sites API

Discover the physical or logical operating locations that belong to a Waterly system.

Site addresses

Use /api/sites/v2 or /api/sites/v2/{siteId} to include attributes.addresses. The same addresses appear on site rows in the v2 organization data-model endpoints.

Addresses are ordered by ID. No active addresses means an empty array; archived addresses are excluded. Each address includes its UUID, country code, and purpose (SHIPPING, BILLING, or BOTH). All other address fields may be null.

"attributes": {
  "site_type": "treatment_plant",
  "addresses": [{
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "label": "Main entrance",
    "recipient_name": "Operations",
    "line1": "123 Main St",
    "line2": null,
    "phone": "+13125550123",
    "city": "Chicago",
    "region": "IL",
    "postal_code": "60601",
    "country_code": "US",
    "purpose": "BOTH"
  }]
}

The system_id filter, pagination, Digest authentication, and data-model:read scope are unchanged. Site self links, pagination links, and organization discovery links use v2. Parent system links continue to use the existing v1 system API.

List sites

Filter by system_id when you need sites from one system. Results are cursor-paginated.

GET/api/sites/v2
curl --digest \
  --user "$WATERLY_API_USERNAME:$WATERLY_API_SECRET" \
  "https://connect.waterly.com/api/sites/v2?system_id=40&limit=100"
{
  "data": [{
    "kind": "site", "id": 55, "name": "North Treatment Plant",
    "parent": { "kind": "system", "id": 40 },
    "order": 1, "attributes": { "site_type": "treatment_plant", "addresses": [] }
  }],
  "links": { "self": "...", "next": null, "prev": null },
  "meta": { "limit": 100, "has_next": false, "has_prev": false }
}

Get one site

GET/api/sites/v2/{siteId}
curl --digest --user "$WATERLY_API_USERNAME:$WATERLY_API_SECRET" \
  "https://connect.waterly.com/api/sites/v2/55"

Follow links.children to list the processes at this site.

Site-specific fields

  • order is the site's configured display order and may be null.
  • attributes.site_type describes the site's configured role.
  • parent.id is the system ID you can reuse in site and data-point filters.