Platform Gateway API#

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

Common Headers#

HeaderDescription
Authorization: Bearer <jwt>Required on all endpoints except /health, /health/ready, and /metrics
X-Tenant-IDOptional override used on service-to-service calls; the tenant is otherwise resolved from the JWT
X-API-VersionReturned by the gateway on every response (currently 1.0)
X-Request-IdReturned by the gateway for log correlation

Platform Endpoints#

Health & Metrics (public)#

MethodPathDescription
GET/healthLiveness probe
GET/health/readyReadiness probe (checks downstream services)
GET/metricsPrometheus metrics

Medical Imaging#

Requires the medical_imaging add-on on the tenant.

MethodPathDescription
POST/med/imaging/signed-urlIssue a signed URL for a DICOM study
GET/med/imaging/worklistList items on the modality worklist
POST/med/imaging/qc-confirmConfirm 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.

MethodPathDescription
POST/med/hl7/adtReceive an ADT (patient admission/transfer/discharge) message
POST/med/hl7/ormReceive an ORM (order) message
POST/med/hl7/send-oruSend an ORU (observation result) message downstream

Patient Records#

Requires the emr add-on on the tenant.

MethodPathDescription
GET/med/patient/{patientID}/studiesList imaging studies for a patient

Clinical Messaging Rooms#

MethodPathDescription
POST/med/personeo/tokenExchange a JWT for a Personeo access token
POST/med/personeo/roomCreate a Personeo room for a clinical encounter
DELETE/med/personeo/room/{encounterID}Archive an encounter room

AI Services#

MethodPathDescription
GET/ai/healthAI service health
GET/ai/agentsList available AI agents
POST/ai/agents/{agentID}/messageSend a message to a specific agent
GET/ai/modelsList available models
POST/ai/chat/completionsChat completion (OpenAI-compatible)

Desk Integration#

MethodPathDescription
POST/med/desk/contacts/syncSynchronize contacts into Desk
GET/med/desk/contacts/{contactID}Retrieve a Desk contact

Billing#

MethodPathDescription
GET/api/v1/billing/plansList available plans
GET/api/v1/billing/subscriptionsList subscriptions for the tenant
GET/api/v1/billing/invoicesList invoices
GET/api/v1/billing/usageUsage metrics
GET/api/v1/billing/entitlementsResolve entitlements for the tenant
GET/api/v1/billing/walletCurrent wallet balance
POST/api/v1/billing/portal-sessionCreate a customer-portal session link

Tenant Administration#

Platform administrators only.

MethodPathDescription
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}/activateActivate a tenant
POST/admin/tenants/{slug}/suspendSuspend 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.

© 2026 Novaza. All rights reserved.