Your account
Assignment groups
A group is a named set of people you can assign work to instead of naming an individual. Useful when the right answer is "the consents team", not "Aroha, unless she is on leave".
Why groups
A project assigned to a group can be picked up by anyone in it, and adding someone to the group brings them into everything the group holds. Membership changes apply to existing assignments, not just new ones.
Groups are per owner, and the owner is either a team or an iwi. The {type} path segment says which.
List groups
{type} is team or iwi. {id} is the owner's id.
curl "$IWICONNECT_URL/groups/team/3f1b0c77-9a5d-4d0b-8c3e-1f2a4b6c8d90" \ -H "Authorization: Bearer $IWICONNECT_KEY"
{
"success": true,
"message": "Groups retrieved",
"status_code": 200,
"response_object": [
{
"id": "e0d9...",
"name": "Consents team",
"description": "Resource consent applications and s92 responses",
"colour": "#5b644a",
"member_ids": ["0b6a51d2-...", "77c1..."],
"created_on": "2026-03-04T21:00:00.000Z",
"updated_on": "2026-08-19T02:30:00.000Z"
}
]
}
Create a group
Creates the group and sets its members in one call.
| Field | Type | Notes | |
|---|---|---|---|
name | string | required | 1 to 120 characters. Shown wherever the group is assigned. |
colour | string | required | Six digit hex with a leading hash, such as #5b644a. Three digit shorthand is rejected. |
memberIds | array | required | User ids. Send [] for an empty group. |
description | string or null | optional | Up to 500 characters. |
curl -X POST "$IWICONNECT_URL/groups/team/3f1b0c77-..." \
-H "Authorization: Bearer $IWICONNECT_KEY" \
-H 'Content-Type: application/json' \
-d '{
"name": "Three Waters",
"description": "Anything touching stormwater, wastewater or drinking water",
"colour": "#4a5239",
"memberIds": ["0b6a51d2-...", "77c1..."]
}'
Update and delete
A full replacement, not a patch. Send every field, including the complete memberIds array: anyone you leave out is removed from the group.
Deletes the group. Projects assigned to it become unassigned rather than being reassigned to anyone, so check what is on the group before you remove it.
Assigning a project to a group
Pass group_id instead of a user on the assign endpoint.
curl -X PUT "$IWICONNECT_URL/projects/8f0c2c1e-.../assign" \
-H "Authorization: Bearer $IWICONNECT_KEY" \
-H 'Content-Type: application/json' \
-d '{ "user_id": null, "group_id": "e0d9...", "side": "sender" }'
Assignment has two sides. sender is your team when you sent the project, recipient is the iwi side. You can only set your own, and the project response carries both.
A routing pattern
Keep a small map from project type to group in your own system and assign on creation: consents to the consents group, maintenance and emergency works to operations, plan changes to policy. That is one extra call per project, straight after POST /projects.