The Novaza Gateway at api.novaza.ai exposes platform-level endpoints that are shared across products: medical imaging, clinical messaging (HL7), AI services, billing, and workspace administration. All endpoints accept a JWT access token issued by Novaza SSO and apply per-tenant rate limiting.
See API Authentication for how to obtain a token.
Base URL#
https://api.novaza.ai
| Header | Description |
|---|
Authorization: Bearer <jwt> | Required on all endpoints except /health, /health/ready, and /metrics |
X-Tenant-ID | Optional override used on service-to-service calls; the tenant is otherwise resolved from the JWT |
X-API-Version | Returned by the gateway on every response (currently 1.0) |
X-Request-Id | Returned by the gateway for log correlation |
Health & Metrics (public)#
| Method | Path | Description |
|---|
GET | /health | Liveness probe |
GET | /health/ready | Readiness probe (checks downstream services) |
GET | /metrics | Prometheus metrics |
Medical Imaging#
Requires the medical_imaging add-on on the tenant.
| Method | Path | Description |
|---|
POST | /med/imaging/signed-url | Issue a signed URL for a DICOM study |
GET | /med/imaging/worklist | List items on the modality worklist |
POST | /med/imaging/qc-confirm | Confirm QC on an acquired study |
GET | /med/imaging/study/{studyUID} | Retrieve study metadata by UID |
GET | /med/wado/* | WADO-RS retrieve (signed-token auth) |
GET | /med/qido/* | QIDO-RS query (signed-token auth) |
Clinical Messaging (HL7)#
Requires the hl7_fhir add-on on the tenant.
| Method | Path | Description |
|---|
POST | /med/hl7/adt | Receive an ADT (patient admission/transfer/discharge) message |
POST | /med/hl7/orm | Receive an ORM (order) message |
POST | /med/hl7/send-oru | Send an ORU (observation result) message downstream |
Patient Records#
Requires the emr add-on on the tenant.
| Method | Path | Description |
|---|
GET | /med/patient/{patientID}/studies | List imaging studies for a patient |
Clinical Messaging Rooms#
| Method | Path | Description |
|---|
POST | /med/personeo/token | Exchange a JWT for a Personeo access token |
POST | /med/personeo/room | Create a Personeo room for a clinical encounter |
DELETE | /med/personeo/room/{encounterID} | Archive an encounter room |
AI Services#
| Method | Path | Description |
|---|
GET | /ai/health | AI service health |
GET | /ai/agents | List available AI agents |
POST | /ai/agents/{agentID}/message | Send a message to a specific agent |
GET | /ai/models | List available models |
POST | /ai/chat/completions | Chat completion (OpenAI-compatible) |
Desk Integration#
| Method | Path | Description |
|---|
POST | /med/desk/contacts/sync | Synchronize contacts into Desk |
GET | /med/desk/contacts/{contactID} | Retrieve a Desk contact |
Billing#
| Method | Path | Description |
|---|
GET | /api/v1/billing/plans | List available plans |
GET | /api/v1/billing/subscriptions | List subscriptions for the tenant |
GET | /api/v1/billing/invoices | List invoices |
GET | /api/v1/billing/usage | Usage metrics |
GET | /api/v1/billing/entitlements | Resolve entitlements for the tenant |
GET | /api/v1/billing/wallet | Current wallet balance |
POST | /api/v1/billing/portal-session | Create a customer-portal session link |
Tenant Administration#
Platform administrators only.
| Method | Path | Description |
|---|
GET | /admin/tenants/ | List tenants |
POST | /admin/tenants/ | Create a tenant |
GET | /admin/tenants/{slug} | Retrieve tenant details |
PUT | /admin/tenants/{slug} | Update a tenant |
POST | /admin/tenants/{slug}/activate | Activate a tenant |
POST | /admin/tenants/{slug}/suspend | Suspend a tenant |
DELETE | /admin/tenants/{slug} | Delete a tenant |
Responses#
All successful responses are JSON. Errors return a JSON body with code, message, and optional details, and an appropriate HTTP status code. See API Reference for the error shape and rate-limit behavior.