Documentation
Base URL: https://api.helpdeskcentral.co.za/schools · All data endpoints are GET and return JSON.
Authentication
Every data endpoint needs your key. Send it any of these ways:
Authorization: Bearer ck_•••••••• # recommended
X-API-Key: ck_••••••••
GET /api/geo/schools?q=curro&key=ck_••••••••No key yet? Create a free account and generate one on your dashboard.
Health no key needed
GET /api/health
Service status and record counts. Use it for uptime monitoring and Render warm-ups.
Provinces
GET /api/geo/provinces
Returns the 9 provinces. No parameters.
Cities
GET /api/geo/cities
| Param | Required | Description |
|---|---|---|
province | no | Filter, e.g. Gauteng |
Suburbs
GET /api/geo/suburbs
| Param | Required | Description |
|---|---|---|
province | no | Filter by province |
city | no | Filter by city |
Schools
GET /api/geo/schools
| Param | Required | Description |
|---|---|---|
q | no | Name search, e.g. curro |
province / city / suburb | no | Geo filters |
limit | no | Default 50, max 500 |
offset | no | Pagination offset |
Response: { total, offset, limit, results: [{ name, suburb, city, province, ... }] }
Places
GET /api/geo/places
| Param | Required | Description |
|---|---|---|
q | no | Populated-place search, e.g. cape |
limit | no | Default 50, max 500 |
Errors
| Code | Meaning |
|---|---|
401 | Missing or unknown key (UNAUTHORIZED) |
403 | Key revoked or inactive |
429 | Free monthly quota used (QUOTA_EXCEEDED) — top up on the pricing page |
404 | Unknown endpoint |
405 | Only GET is supported |
Playground — try it live
// Hit "Send Request" to see a live response