Developers
Open ManaNotes
On this page
API Reference

ManaNotes External API

An OAuth 2.0–protected REST API for managing patients and appointments in your ManaNotes clinic. Build integrations, sync systems and automate scheduling.

Base URLhttps://api.mananotes.co.nz/api/v1 v1 · stable

The ManaNotes External API is organised around REST. It has predictable, resource-oriented URLs under /api/v1, accepts JSON request bodies, returns JSON responses, and uses standard HTTP verbs and status codes. Every request runs against your clinic exactly as the practitioner app does — same validation, same scoping, same side-effects (reminders, denormalised names, cascade soft-deletes).

What you can do

Manage patients
Create, read, update and archive patient records — names, NHI, contact details, demographics and history.
Manage appointments
Book, fetch, reschedule and cancel appointments, including ACC visits — linking an existing patient/injury or creating them inline.
Reference data
Read the practitioners, locations, billable items, working hours and live availability you need to construct a booking.

Base URL & environments

All endpoints live under the versioned base URL above, on the host for your environment. Successful responses wrap the payload in a data field; list endpoints add a totalCount.

EnvironmentBase URL
Productionhttps://api.mananotes.co.nz/api/v1
Staginghttps://api-staging.mananotes.co.nz/api/v1

Build and test against staging, then switch the host to production when you go live.

Quick start

Exchange your client credentials for an access token (see Authentication), then call the API with a bearer token. GET /me echoes back your client identity, clinic and granted scopes — the quickest way to confirm your setup:

Your first request
curl https://api.mananotes.co.nz/api/v1/me \
  -H "Authorization: Bearer eyJhbGci..."

A successful call wraps the result in data:

json
{
  "data": {
    "clientId": "a1b2c3d4e5",
    "name": "Acme Integrations",
    "clinicId": "65f0c2...",
    "practitionerId": "65f0a1...",
    "scopes": ["patients:read", "appointments:read", "appointments:write"],
    "active": true
  }
}