Skip to Content
Go API referenceAPI overview

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

PrefixDomainTypical controls
/api/v1/auth/Identity, OTP, JWT, profilesPublic entry + authenticated profile reads/writes
/api/v1/classes/Classes and membershipsMembership and owner roles
/api/v1/uploads/, /api/v1/files/Upload lifecycle and compatibility filesUploader, class member, or accepted share
/api/v1/storage/Quota and historyAuthenticated user scope
/api/v1/sharing/Shares and request transitionsOwner/recipient status checks
/api/v1/friends/, /api/v1/notifications/Social graph and notificationsAuthenticated user scope
/api/v1/schedule/Calendars and eventsCalendar/class access
/api/v1/marketplace/, /api/v1/library/Commerce and learning resourcesOwnership and atomic transaction rules
/api/v1/channel/, /api/v1/class-comms/Broadcast communicationsManagement role and wallet controls
/api/v1/assignments/Assignments and gradingLecturer/student role distinctions
/api/v1/ai/, /api/v1/search/, /api/v1/sms/AI state, search, SMS accountsAuthenticated, owner-scoped records

HTTP behavior

StatusMeaning
200Successful read, update, or transition
201Creation, registration, upload, join, or purchase
400Validation or malformed input
401Missing or invalid bearer token
403Valid user but insufficient domain permission
404Missing resource or route
429Redis-backed rate limit exceeded
503Required dependency unavailable

Browse the domain-specific sections in the sidebar for route patterns, payload expectations, and operational rules.

Last updated on