Laukahi network node · API

For developers

This site is a node in the Laukahi Network: everything it publishes can be read by machines as well as people. Start from the manifest — it describes the node, its collections and how to authenticate.

Start here

curl https://www.ecosystemsandlandcare.org/api/manifest

The manifest and schema are always open. Everything else follows the access rules below.

Authentication

Keys are issued by this node. Send one on every request:

Authorization: Bearer uhelp_…
# or
X-API-Key: uhelp_…

Each key has its own scopes, collection limits and a per-minute rate limit. Some records are marked restricted (for example sensitive management methods); they are only returned to keys that have been granted access to them, and are otherwise absent — not redacted.

Endpoints

EndpointWhat it doesAccess
GET /api/manifestNode identity, collections, capabilities, auth.open
GET /api/schemaField definitions for every collection.open
GET /api/species
GET /api/resources
GET /api/{collection}/{id}
Read public records, collection by collection, with paging and updated_since.open
GET /api/search
Keyword and semantic search across every collection.open
GET /api/changes
What changed since a timestamp — how a hub keeps its index of this node in sync.key required
POST /api/mcp
Model Context Protocol: lets AI agents list and call this node’s tools directly.key required
POST /api/library/ask
Grounded answers from the document library, citing pages.key required

Collections

/api/speciesSpecies records relevant to Hawaiian ecosystem restoration. Includes invasives, natives, and polynesian introductions.
/api/resourcesEverything UHELP publishes: pages, documents, links and datasets. Biocontrol and events are subcategories here, not separate archives.

Paging: ?limit= (max 200) and ?offset=. Incremental sync: ?updated_since= ISO timestamp, or poll /api/changes?since= and fetch what changed.

curl -H "Authorization: Bearer $UHELP_KEY" \
  "https://www.ecosystemsandlandcare.org/api/species?limit=50&updated_since=2026-01-01T00:00:00Z"

AI agents (MCP)

POST JSON-RPC style requests to /api/mcp: tools/list, then tools/call. A key sent to MCP is passed through to the tools it calls, so an agent reaches exactly what its key allows.

curl -X POST https://www.ecosystemsandlandcare.org/api/mcp \
  -H "Authorization: Bearer $UHELP_KEY" -H "Content-Type: application/json" \
  -d '{"method":"tools/call","params":{"name":"search","arguments":{"query":"fountain grass"}}}'

Errors

401api_key_required or invalid_api_key — no key, or a revoked, expired or unknown one.
403insufficient_scope — the key is valid but not allowed this endpoint or collection.
429rate_limited — over the key’s per-minute limit. Wait for Retry-After.

Every response carries X-Node-Access: open, or the key it was served under.