REST API · v2.1

GrinCad API Reference.

Everything you need to read from and write to Namibia's national digital health passport. RESTful endpoints, offline-first sync patterns, patient-controlled consent — all documented here.

Base URL: https://api.grincad.na/v2
REST over HTTPS
JSON request & response bodies
Offline-first sync
Queue locally, push when connected
OAuth 2.0 + API keys
Scoped access per institution
Rate limit: 1 000 req/min
Per API key, burstable to 2 000

What GrinCad's API does

GrinCad exposes a RESTful API that lets accredited health institutions read from and write to a patient's digital health passport — the same record the patient carries on their phone. Every endpoint is designed to work offline-first: capture data locally, queue the request, and the API reconciles it the moment a connection is available.

Core concepts

Health Passport

One record per Namibian, identified by national ID. Contains vaccinations, conditions, prescriptions, allergies, and lab results.

Patient Consent

Every read or write requires the patient's explicit approval. Consent is granular — a practitioner can be granted view-only or write access per category.

Offline Queue

Endpoints accept requests even without connectivity. The SDK queues them locally and syncs when a connection returns — no data is ever lost.

Institution Scoping

API keys are scoped to an accredited institution. A clinic in Rundu cannot accidentally access records from a hospital in Windhoek without patient consent.

Quick start

bash
# 1. Get your API key from the GrinCad dashboard
# 2. Set it as an environment variable
export GRINCAD_API_KEY="gc_live_xxxxxxxxxxxxxxxxxxxxxxxx"

# 3. Make your first request — look up a patient by national ID
curl -H "Authorization: Bearer $GRINCAD_API_KEY" \
     -H "Content-Type: application/json" \
     "https://api.grincad.na/v2/patients/ID-123456789"

On this page

  • What GrinCad's API does
  • Core concepts
  • Quick start

Ready to build on GrinCad?

Get your API key, spin up a test patient, and make your first request in under five minutes.