Go API overview
The Go API is served under /api/v1/. It preserves trailing slashes, the existing JSON envelope, field names, status semantics, and public/private route distinctions.
Standard envelope
{
"success": true,
"message": "Resources retrieved successfully",
"data": {},
"errors": null
}Downloads stream bytes rather than JSON. Health can return 503 with a diagnostic envelope when a required readiness dependency is unavailable.
Domain map
| Prefix | Domain | Typical controls |
|---|---|---|
/api/v1/auth/ | Identity, OTP, JWT, profiles | Public entry + authenticated profile reads/writes |
/api/v1/classes/ | Classes and memberships | Membership and owner roles |
/api/v1/uploads/, /api/v1/files/ | Upload lifecycle and compatibility files | Uploader, class member, or accepted share |
/api/v1/storage/ | Quota and history | Authenticated user scope |
/api/v1/sharing/ | Shares and request transitions | Owner/recipient status checks |
/api/v1/friends/, /api/v1/notifications/ | Social graph and notifications | Authenticated user scope |
/api/v1/schedule/ | Calendars and events | Calendar/class access |
/api/v1/marketplace/, /api/v1/library/ | Commerce and learning resources | Ownership and atomic transaction rules |
/api/v1/channel/, /api/v1/class-comms/ | Broadcast communications | Management role and wallet controls |
/api/v1/assignments/ | Assignments and grading | Lecturer/student role distinctions |
/api/v1/ai/, /api/v1/search/, /api/v1/sms/ | AI state, search, SMS accounts | Authenticated, owner-scoped records |
HTTP behavior
| Status | Meaning |
|---|---|
200 | Successful read, update, or transition |
201 | Creation, registration, upload, join, or purchase |
400 | Validation or malformed input |
401 | Missing or invalid bearer token |
403 | Valid user but insufficient domain permission |
404 | Missing resource or route |
429 | Redis-backed rate limit exceeded |
503 | Required dependency unavailable |
Browse the domain-specific sections in the sidebar for route patterns, payload expectations, and operational rules.
Last updated on