Skip to content

API Overview

The Noumaris backend API is built with FastAPI and provides 23+ REST endpoints for managing institutions, residents, permissions, and clinical documentation.

Base URLs

  • Production: https://api.noumaris.com
  • Development: http://localhost:8000

Authentication

All endpoints (except /invite/* public endpoints) require JWT authentication via Keycloak.

http
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...

Getting a Token

  1. Login via Keycloak at your organization's login page
  2. Extract JWT token from session
  3. Include token in Authorization header for all API requests

API Categories

Superadmin Endpoints (8 endpoints)

Required Role: superadmin

  • Institution management (create, update, list, suspend)
  • Feature grants (institution-level)
  • System analytics
  • Admin creation

Institution Admin Endpoints (11 endpoints)

Required Role: institution_admin

  • Resident management (invite, update, list)
  • Permission management (grant, revoke, bulk operations)
  • Usage metrics
  • Audit log

Invitation Endpoints (3 endpoints)

Public - No authentication required

  • Validate invitation token
  • Accept invitation
  • Token expiry handling

Clinical Documentation Endpoints

Required Role: user (authenticated)

  • Document creation
  • Audio transcription (WebSocket)
  • Note generation (Claude AI)
  • Template management

Interactive Documentation

FastAPI provides auto-generated interactive API documentation:

  • Swagger UI: /docs - Try out endpoints directly
  • ReDoc: /redoc - Alternative documentation view
  • OpenAPI JSON: /openapi.json - Machine-readable schema

Rate Limiting

Endpoint TypeLimitWindow
Health checks100 requests1 minute
Standard endpoints50 requests1 minute
Admin endpoints50 requests1 minute
WebSocket connections3 concurrentPer user

Error Codes

CodeMeaningCommon Causes
400Bad RequestInvalid input, capacity limits exceeded
401UnauthorizedMissing or invalid JWT token
403ForbiddenInsufficient permissions for action
404Not FoundResource doesn't exist
409ConflictDuplicate record
422Validation ErrorPydantic validation failed
429Too Many RequestsRate limit exceeded
500Internal Server ErrorUnexpected server error

Complete API Reference

See API Endpoints → for complete documentation of all 23 endpoints with request/response examples.

Postman Collection

A Postman collection is available for testing all endpoints. Download from the backend repository:

backend/postman/Noumaris_API_Collection.json

Setup Instructions

  1. Import collection into Postman
  2. Set environment variables:
    • base_url: Backend URL
    • jwt_token: Your JWT token from Keycloak
    • institution_id: Test institution ID
  3. Run requests in order (authentication first)

Internal documentation for Noumaris platform