<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>API Reference on Novaza Docs</title><link>https://docs.novaza.ai/api/</link><description>Recent content in API Reference on Novaza Docs</description><generator>Hugo</generator><language>en</language><atom:link href="https://docs.novaza.ai/api/index.xml" rel="self" type="application/rss+xml"/><item><title>API Authentication</title><link>https://docs.novaza.ai/api/authentication/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.novaza.ai/api/authentication/</guid><description>&lt;h1 id="api-authentication"&gt;API Authentication&lt;a class="anchor" href="#api-authentication"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;All Novaza API requests must be authenticated with a JWT access token issued by &lt;strong&gt;Novaza SSO&lt;/strong&gt; at &lt;code&gt;id.novaza.ai&lt;/code&gt;. The token is carried in the &lt;code&gt;Authorization: Bearer &amp;lt;token&amp;gt;&lt;/code&gt; header on every request to the Novaza Gateway (&lt;code&gt;api.novaza.ai&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;Individual products (Office, Desk, Pulse) are served from their own domains and accept access tokens obtained through the same Novaza SSO authorization flow, with a product-scoped audience.&lt;/p&gt;
&lt;h2 id="overview"&gt;Overview&lt;a class="anchor" href="#overview"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;A user signs in at &lt;strong&gt;&lt;code&gt;id.novaza.ai&lt;/code&gt;&lt;/strong&gt; (directly or via an OAuth2 authorization redirect from your application).&lt;/li&gt;
&lt;li&gt;Novaza SSO issues a JWT &lt;strong&gt;access token&lt;/strong&gt; (short-lived) and &lt;strong&gt;refresh token&lt;/strong&gt; (longer-lived).&lt;/li&gt;
&lt;li&gt;Your client calls &lt;code&gt;https://api.novaza.ai/...&lt;/code&gt; with &lt;code&gt;Authorization: Bearer &amp;lt;access_token&amp;gt;&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;When the access token expires, exchange the refresh token for a new access token at the SSO token endpoint.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="oauth2-authorization-code-flow"&gt;OAuth2 Authorization Code Flow&lt;a class="anchor" href="#oauth2-authorization-code-flow"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Use this flow for user-facing third-party applications that act on behalf of a signed-in Novaza user.&lt;/p&gt;</description></item><item><title>Office API</title><link>https://docs.novaza.ai/api/office-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.novaza.ai/api/office-api/</guid><description>&lt;h1 id="office-api"&gt;Office API&lt;a class="anchor" href="#office-api"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Novaza Office exposes a REST API for programmatic access to namespaces, modules, records, workflows, and pages. The API is served directly by the Office product at &lt;code&gt;https://office.novaza.ai&lt;/code&gt; and is &lt;strong&gt;not&lt;/strong&gt; proxied through the Novaza Platform Gateway.&lt;/p&gt;
&lt;h2 id="access-and-authentication"&gt;Access and Authentication&lt;a class="anchor" href="#access-and-authentication"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Because the Office API is served by the product directly, it has its own authentication handshake that is separate from the Platform Gateway at &lt;code&gt;api.novaza.ai&lt;/code&gt;. Clients must obtain an Office access token before calling Office API endpoints.&lt;/p&gt;</description></item><item><title>Platform Gateway API</title><link>https://docs.novaza.ai/api/middleware-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.novaza.ai/api/middleware-api/</guid><description>&lt;h1 id="platform-gateway-api"&gt;Platform Gateway API&lt;a class="anchor" href="#platform-gateway-api"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;The Novaza Gateway at &lt;strong&gt;&lt;code&gt;api.novaza.ai&lt;/code&gt;&lt;/strong&gt; 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.&lt;/p&gt;
&lt;p&gt;See &lt;a href="https://docs.novaza.ai/api/authentication/"&gt;API Authentication&lt;/a&gt; for how to obtain a token.&lt;/p&gt;
&lt;h2 id="base-url"&gt;Base URL&lt;a class="anchor" href="#base-url"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;https://api.novaza.ai&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="common-headers"&gt;Common Headers&lt;a class="anchor" href="#common-headers"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Header&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Authorization: Bearer &amp;lt;jwt&amp;gt;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Required on all endpoints except &lt;code&gt;/health&lt;/code&gt;, &lt;code&gt;/health/ready&lt;/code&gt;, and &lt;code&gt;/metrics&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;X-Tenant-ID&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Optional override used on service-to-service calls; the tenant is otherwise resolved from the JWT&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;X-API-Version&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Returned by the gateway on every response (currently &lt;code&gt;1.0&lt;/code&gt;)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;X-Request-Id&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Returned by the gateway for log correlation&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="platform-endpoints"&gt;Platform Endpoints&lt;a class="anchor" href="#platform-endpoints"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="health--metrics-public"&gt;Health &amp;amp; Metrics (public)&lt;a class="anchor" href="#health--metrics-public"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Method&lt;/th&gt;
 &lt;th&gt;Path&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;GET&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;/health&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Liveness probe&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;GET&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;/health/ready&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Readiness probe (checks downstream services)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;GET&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;/metrics&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Prometheus metrics&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="medical-imaging"&gt;Medical Imaging&lt;a class="anchor" href="#medical-imaging"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Requires the &lt;code&gt;medical_imaging&lt;/code&gt; add-on on the tenant.&lt;/p&gt;</description></item><item><title>Desk API</title><link>https://docs.novaza.ai/api/desk-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.novaza.ai/api/desk-api/</guid><description>&lt;h1 id="desk-api"&gt;Desk API&lt;a class="anchor" href="#desk-api"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Novaza Desk exposes a REST API for contacts, conversations, messages, and tickets. The API is served by the Desk product directly at &lt;code&gt;https://desk.novaza.ai&lt;/code&gt; and is &lt;strong&gt;not&lt;/strong&gt; proxied through the Novaza Platform Gateway.&lt;/p&gt;
&lt;h2 id="access-and-authentication"&gt;Access and Authentication&lt;a class="anchor" href="#access-and-authentication"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Because the Desk API is served by the product directly, it has its own authentication handshake that is separate from the Platform Gateway at &lt;code&gt;api.novaza.ai&lt;/code&gt;. Clients must obtain a Desk access token before calling Desk API endpoints.&lt;/p&gt;</description></item><item><title>Pulse API</title><link>https://docs.novaza.ai/api/pulse-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.novaza.ai/api/pulse-api/</guid><description>&lt;h1 id="pulse-api"&gt;Pulse API&lt;a class="anchor" href="#pulse-api"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Novaza Pulse exposes a REST API for subscribers, lists, templates, campaigns, and transactional email. The API is served by the Pulse product directly at &lt;code&gt;https://pulse.novaza.ai&lt;/code&gt; and is &lt;strong&gt;not&lt;/strong&gt; proxied through the Novaza Platform Gateway.&lt;/p&gt;
&lt;h2 id="access-and-authentication"&gt;Access and Authentication&lt;a class="anchor" href="#access-and-authentication"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Because the Pulse API is served by the product directly, it has its own authentication handshake that is separate from the Platform Gateway at &lt;code&gt;api.novaza.ai&lt;/code&gt;. Clients must obtain a Pulse access token before calling Pulse API endpoints.&lt;/p&gt;</description></item><item><title>Webhooks</title><link>https://docs.novaza.ai/api/webhooks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.novaza.ai/api/webhooks/</guid><description>&lt;h1 id="webhooks"&gt;Webhooks&lt;a class="anchor" href="#webhooks"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Webhooks allow Novaza products to push real-time event notifications to external systems or to the Novaza Middleware. Today, Novaza supports &lt;strong&gt;inbound webhooks&lt;/strong&gt; (receiving events into the Novaza Middleware from connected products) and product-scoped outbound event forwarding. A single unified outbound webhook bus with Novaza-branded headers is &lt;strong&gt;planned&lt;/strong&gt; and not yet available.&lt;/p&gt;
&lt;h2 id="inbound-webhooks-available-today"&gt;Inbound Webhooks (available today)&lt;a class="anchor" href="#inbound-webhooks-available-today"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The Novaza Middleware exposes dedicated webhook endpoints that accept events from specific Novaza products. These are intended for internal platform integration and are authenticated per source.&lt;/p&gt;</description></item></channel></rss>