WaterlyWaterlyConnect Developer Hub
API Guidedata-model:read

System Groups API

Explore the folder-like groups that organize an organization's systems. A system group may sit directly under the organization or inside another system group.

List system groups

Without a filter, this route returns every system group visible to the token. Use parent_system_group_id to list only groups nested inside another group.

GET/api/system-groups/v1
Example: children of group 7
curl --digest \
  --user "$WATERLY_API_USERNAME:$WATERLY_API_SECRET" \
  "https://connect.waterly.com/api/system-groups/v1?parent_system_group_id=7&limit=50"
Example response
{
  "data": [{
    "kind": "systemGroup", "id": 8, "name": "Wastewater",
    "parent": { "kind": "systemGroup", "id": 7 },
    "order": null, "attributes": {}
  }],
  "links": { "self": "...", "next": null, "prev": null },
  "meta": { "limit": 50, "has_next": false, "has_prev": false }
}

Get one system group

The response links to the parent resource and to a filtered data-model view of the group's children.

GET/api/system-groups/v1/{systemGroupId}
curl --digest --user "$WATERLY_API_USERNAME:$WATERLY_API_SECRET" \
  "https://connect.waterly.com/api/system-groups/v1/8"
{
  "data": { "kind": "systemGroup", "id": 8, "name": "Wastewater", "parent": { "kind": "systemGroup", "id": 7 }, "order": null, "attributes": {} },
  "links": { "self": "https://connect.waterly.com/api/system-groups/v1/8", "parent": "https://connect.waterly.com/api/system-groups/v1/7", "children": "https://connect.waterly.com/api/organizations/v1/123/data-model?parent_id=8&parent_kind=systemGroup" }
}

What to use from the response

  • id is the stable identifier used by system and nested-group filters.
  • parent.kind tells you whether the group belongs to the organization or another system group.
  • links.children is the easiest way to continue traversing the hierarchy.