Skip to content

API route status ​

Source snapshot: 2026-10-23. 245 API-server method/path pairs: 164 Done, 73 Not Implemented, 8 Partial.

Implemented success response shapes and before/after changes are listed in API success response audit. Development-only operations are listed separately below.

Done = handler/use case implemented. Not Implemented = valid requests return 501. Partial = implemented with the gaps noted below.

Prefix: /api/v1, except the metadata table. Methods sharing a path/status are grouped; explicit trailing-slash aliases are included.

The full organization summary route is GET /api/v1/admin/organizations/{organizationId}/summary.

MethodsRouteStatus
GET/admin/accountsNot Implemented
GET, PATCH/admin/accounts/{userId}Not Implemented
GET/admin/audit-eventsDone
GET/admin/audit-events/{eventId}Done
POST/admin/auth/loginDone
GET/admin/auth/verifyDone
GET/admin/authorization/meDone
GET/admin/authorization/members/{userId}Done
PUT, DELETE/admin/authorization/members/{userId}/permissions/{permission}/{access}Done
PUT, DELETE/admin/authorization/members/{userId}/roles/{roleId}Done
GET/admin/authorization/permissionsDone
GET, POST/admin/authorization/rolesDone
GET, PUT, DELETE/admin/authorization/roles/{roleId}Done
PUT/admin/authorization/roles/{roleId}/permissionsDone
GET/admin/invoicesNot Implemented
GET, PATCH/admin/invoices/{invoiceId}Not Implemented
POST/admin/invoices/{invoiceId}/issueNot Implemented
GET, POST/admin/invoices/{invoiceId}/paymentsNot Implemented
POST/admin/invoices/{invoiceId}/voidNot Implemented
GET, POST/admin/medicines/brandsDone
GET, PATCH, DELETE/admin/medicines/brands/{id}Done
POST/admin/medicines/brands/{id}/restoreDone
GET, POST/admin/medicines/drugsDone
GET, PATCH, DELETE/admin/medicines/drugs/{id}Done
POST/admin/medicines/drugs/{id}/restoreDone
GET, POST/admin/medicines/genericsDone
GET, PATCH, DELETE/admin/medicines/generics/{id}Done
POST/admin/medicines/generics/{id}/restoreDone
GET, POST/admin/medicines/manufacturersDone
GET, PATCH, DELETE/admin/medicines/manufacturers/{id}Done
POST/admin/medicines/manufacturers/{id}/restoreDone
GET/admin/organizationsDone
GET/admin/organizations/{organizationId}/summaryDone
POST/admin/organizationsPartial
GET, PUT, DELETE/admin/organizations/{organizationId}Done
POST/admin/organizations/{organizationId}/activateDone
POST/admin/organizations/{organizationId}/membersDone
POST/admin/organizations/{organizationId}/restoreDone
POST/admin/organizations/{organizationId}/suspendDone
GET/admin/paymentsNot Implemented
GET/admin/payments/{paymentId}Not Implemented
POST/admin/payments/{paymentId}/voidNot Implemented
GET/admin/profileDone
GET, POST/admin/subscription-plansNot Implemented
GET, PATCH, DELETE/admin/subscription-plans/{planId}Not Implemented
GET, POST/admin/subscriptionsNot Implemented
GET, PATCH, DELETE/admin/subscriptions/{subscriptionId}Not Implemented
POST/admin/subscriptions/{subscriptionId}/extendNot Implemented
GET, POST/admin/subscriptions/{subscriptionId}/invoicesNot Implemented
GET, POST/admin/usersDone
GET/admin/users/{adminUserId}Done
DELETE/admin/users/{adminUserId}Not Implemented
GET, POST/admin/doctor-qualificationsDone
GET, PUT, DELETE/admin/doctor-qualifications/{id}Done
GET, POST/admin/doctor-specialtiesDone
GET, PUT, DELETE/admin/doctor-specialties/{id}Done
GET, POST/admin/doctor-specializationsDone
GET, PUT, DELETE/admin/doctor-specializations/{id}Done
GET/admin/doctorsDone
GET/admin/doctors/{doctorId}Done
GET/admin/doctors/{doctorId}/organizationsDone
POST/admin/doctors/{doctorId}/suspendDone
POST/admin/doctors/{doctorId}/activateDone
POST/admin/organizations/{organizationId}/doctorsDone
POST/admin/verificationsDone
GET/admin/verifications/pendingDone
GET/admin/verifications/{verificationId}Done
POST/admin/verifications/{verificationId}/approveDone
POST/admin/verifications/{verificationId}/rejectDone
POST/auth/email-verificationDone
POST/auth/email-verification/confirmDone
POST/auth/loginDone
POST/auth/logoutDone
POST/auth/logout-allDone
GET, PUT/auth/meDone
PUT/auth/passwordDone
POST/auth/password/forgotDone
POST/auth/password/resetDone
POST/auth/refreshDone
POST/auth/registerDone
GET/auth/sessionsDone
DELETE/auth/sessions/{sessionId}Done
POST/doctors/auth/loginDone
GET/doctors/auth/verifyDone
GET/doctors/invitations/{token}Not Implemented
PATCH/doctors/profileImplemented; profile updates
GET, POST/doctors/me/join-requestsNot Implemented
POST/doctors/me/join-requests/{requestId}/cancelNot Implemented
GET/doctors/me/organizationsNot Implemented
GET/doctors/me/verificationsNot Implemented
GET/doctors/organizationsDone
GET/doctors/organizations/{organizationId}Not Implemented
GET, POST/doctors/patientsDone
GET, PATCH/doctors/patients/{patientId}Done
GET/doctors/profileDone
PUT/doctors/profile/professional-detailsDone
GET/doctors/qualificationsDone
GET/doctors/specialtiesDone
GET/doctors/specializationsDone
POST/doctors/registerDone
GET/medicines/brandsDone
GET/medicines/brands/{id}Done
GET/medicines/drugsDone
GET/medicines/drugs/{id}Done
GET/medicines/genericsDone
GET/medicines/generics/{id}Done
GET/medicines/manufacturersDone
GET/medicines/manufacturers/{id}Done
GET/notifications/Partial
POST/notifications/sendPartial
GET, POST/notifications/templatesPartial
GET, PUT/notifications/templates/{id}Partial
GET/notifications/{id}Partial
GET/organizationsNot Implemented
GET/organizations/active-contextNot Implemented
POST/organizations/auth/loginDone
GET/organizations/auth/verifyDone
GET/organizations/{organizationId}Not Implemented
POST/organizations/{organizationId}/activateDone
GET/organizations/{organizationId}/audit-eventsDone
GET/organizations/{organizationId}/audit-events/{eventId}Done
GET/organizations/{organizationId}/authorization/meDone
GET/organizations/{organizationId}/authorization/members/{userId}Done
PUT, DELETE/organizations/{organizationId}/authorization/members/{userId}/permissions/{permission}/{access}Done
PUT, DELETE/organizations/{organizationId}/authorization/members/{userId}/roles/{roleId}Done
GET/organizations/{organizationId}/authorization/permissionsDone
GET, POST/organizations/{organizationId}/authorization/rolesDone
GET, PUT, DELETE/organizations/{organizationId}/authorization/roles/{roleId}Done
PUT/organizations/{organizationId}/authorization/roles/{roleId}/permissionsDone
GET/organizations/{organizationId}/billing-historyNot Implemented
GET, POST/organizations/{organizationId}/doctor-invitationsNot Implemented
POST/organizations/{organizationId}/doctor-invitations/{invitationId}/revokeNot Implemented
GET/organizations/{organizationId}/doctor-join-requestsNot Implemented
POST/organizations/{organizationId}/doctor-join-requests/{requestId}/acceptNot Implemented
POST/organizations/{organizationId}/doctor-join-requests/{requestId}/rejectNot Implemented
GET/organizations/{organizationId}/doctorsDone
GET, PATCH/organizations/{organizationId}/doctors/{doctorId}Not Implemented
GET, POST/organizations/{organizationId}/membersNot Implemented
GET, PUT/organizations/{organizationId}/members/{memberId}Not Implemented
DELETE/organizations/{organizationId}/members/{memberId}Done
PUT/organizations/{organizationId}/members/{memberId}/roleNot Implemented
PUT/organizations/{organizationId}/members/{memberId}/teamNot Implemented
GET/organizations/profileDone
GET/organizations/{organizationId}/subscriptionNot Implemented
GET, POST/organizations/{organizationId}/teamsDone
GET, PATCH, DELETE/organizations/{organizationId}/teams/{teamId}Not Implemented
GET, POST/prescriptionsNot Implemented
GET/prescriptions/patient-history/{patientId}Not Implemented
GET, POST/prescriptions/suggestions/adviceDone
GET, PATCH, DELETE/prescriptions/suggestions/advice/{suggestionAdviceId}Done
GET, POST/prescriptions/suggestions/diagnosisDone
GET, PATCH, DELETE/prescriptions/suggestions/diagnosis/{suggestionDiagnosisId}Done
GET, POST/prescriptions/suggestions/investigationDone
GET, PATCH, DELETE/prescriptions/suggestions/investigation/{suggestionInvestigationId}Done
GET, PATCH/prescriptions/{prescriptionId}Not Implemented
POST/prescriptions/{prescriptionId}/cancelNot Implemented
POST/prescriptions/{prescriptionId}/issueNot Implemented
GET/subscriptions/plansNot Implemented
GET/subscriptions/plans/{planId}Not Implemented

Health and API metadata (no prefix) ​

MethodsRouteStatus
GET/healthzDone
GET/openapi-3.0.jsonDone
GET/openapi-3.0.yamlDone
GET/openapi.jsonDone
GET/openapi.yamlDone
GET/schemas/{schema}Done

Partial implementation notes:

  • POST /admin/organizations: persistence works; the shared permission checker always allows access after identity verification.
  • /notifications/*: in-memory storage, console email/stub SMS, no authentication; the mount does not strip its prefix, preventing intended nested-handler dispatch.

Standalone docs server (services/openapi): Done — ANY / (Scalar fallback), GET, HEAD /openapi.yaml; separate from the API-server routes above.

Sources: api/openapi.yaml, services/api/cmd/server/{main,organization_legacy}.go, service HTTP registrations/use cases, and pkg/api/api.go (Huma metadata defaults).

Organization summary and affiliation contracts, mock billing boundaries, and retired routes are documented in Organization management API.

Development operations (no prefix) ​

These five implemented operations are available only in development environments and are included in the 245-route count above. They use the common JSON success envelope.

MethodRouteStatus
POST/development/reset-databaseDone
POST/development/seedDone
POST/development/cleanDone
GET/development/migrations/statusDone
POST/development/migrations/apply-allDone

Clinical input suggestions ​

Doctor requires an active doctor session; Admin requires clinical suggestion read/manage grants.

MethodPathSuccess
GET/api/v1/doctors/suggestions/chief-complaints200, non-null choice array
GET/api/v1/admin/suggestions/chief-complaints200, management page
GET/api/v1/admin/suggestions/chief-complaints/{id}200, record
POST/api/v1/admin/suggestions/chief-complaints201, record
PATCH/api/v1/admin/suggestions/chief-complaints/{id}200, record
DELETE/api/v1/admin/suggestions/chief-complaints/{id}200, empty object
GET/api/v1/doctors/suggestions/history200, non-null choice array
GET/api/v1/admin/suggestions/history200, management page
GET/api/v1/admin/suggestions/history/{id}200, record
POST/api/v1/admin/suggestions/history201, record
PATCH/api/v1/admin/suggestions/history/{id}200, record
DELETE/api/v1/admin/suggestions/history/{id}200, empty object

See clinical input DTOs and workflow.

Documentation follows the source. Planned contracts are marked explicitly.