IwiConnect API docs

Core resources

Iwi and rohe

Before a project goes anywhere, the platform works out whose rohe it sits in. These endpoints let you do the same lookup from your own system, so you know who you are dealing with before you commit.

Who holds mana whenua here

post /iwi/count iwi:read

Takes a point and returns the iwi whose rohe cover it, along with whether you get to choose between them.

FieldTypeNotes
latnumberrequiredDecimal degrees. Negative in Aotearoa.
lonnumberrequiredDecimal degrees.
Response
{
  "success": true,
  "message": "Iwi retrieved",
  "status_code": 200,
  "response_object": {
    "iwi": [
      { "slug": "te-ati-awa-ki-whakarongotai", "name": "Te Āti Awa ki Whakarongotai" },
      { "slug": "ngati-toa-rangatira", "name": "Ngāti Toa Rangatira" }
    ],
    "can_select_iwi": true
  }
}

Reading the result

An empty iwi array means no mapped rohe covers that point. That is not the same as nobody having an interest, so treat it as a prompt to check rather than a clearance.

Several iwi in the list is normal and correct. Rohe overlap, because takiwā were never drawn as a partition of the map, and the platform does not force them into one. When can_select_iwi is true you pick who receives the project. When it is false, routing is fixed and your selection is ignored.

Coordinates, not addresses. There is no address geocoder in the public API. Geocode on your side and send decimal degrees.

List iwi

get /iwi iwi:read

Every iwi on the platform, with id, name and slug. Small enough to cache for a day. Names carry macrons, so store them as UTF-8 and compare on slug rather than on the display name.

get /iwi/{id} iwi:read

One iwi, including branding (logo and primary colour) where they have set it. Useful if you surface IwiConnect data in your own interface and want to show it respectfully.

Slugs and ids

Iwi appear under two identifiers and they are not interchangeable.

IdentifierExampleUsed in
slugngati-toa-rangatiraThe iwi array when creating or sending a project.
idUUIDPath parameters and project routing.

Both are stable. Slugs strip macrons, so Ngāti Toa Rangatira becomes ngati-toa-rangatira. Do not generate them yourself from a name; read them from the API.

Hapū and marae

Iwi organise their own structures underneath: hapū, marae, takiwā, and in some cases other groupings with their own names. Those sit inside the iwi account and are not exposed through the public API. Projects are addressed to an iwi, and the iwi decides who inside their rohe picks the work up.

There is no national hapū boundary dataset, and IwiConnect does not invent one. Each iwi holds the master copy of its own structure, which is the only version that is actually authoritative.

Addresses

There is no address lookup in the public API. Geocode on your side, with whichever provider you already use, and send decimal degrees.

If your records hold street addresses rather than coordinates, geocode once when the record is created and store the result next to it. That keeps a submission to a single call, and it means an outage at your geocoder never blocks a send.