<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://developer-staging-001.zuub.com/changelog</id>
    <title>Zuub Developer Portal Blog</title>
    <updated>2026-08-27T00:00:00.000Z</updated>
    <generator>https://github.com/jpmonette/feed</generator>
    <link rel="alternate" href="https://developer-staging-001.zuub.com/changelog"/>
    <subtitle>Zuub Developer Portal Blog</subtitle>
    <icon>https://developer-staging-001.zuub.com/img/favicon.ico</icon>
    <entry>
        <title type="html"><![CDATA[Standardize Claim Retrieval and Credentials Validation error results]]></title>
        <id>https://developer-staging-001.zuub.com/changelog/2026-08-27</id>
        <link href="https://developer-staging-001.zuub.com/changelog/2026-08-27"/>
        <updated>2026-08-27T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Claim Retrieval and Credentials Validation failure results move to the problem-details error shape, Claims Retrieval error types are now documented in the error reference, and Credentials Validation status supports long polling.]]></summary>
        <content type="html"><![CDATA[<p class="changelog-subtitle">Claims Retrieval, Credential Management — 2 breaking, 4 non-breaking</p>
<div style="display:flex;flex-wrap:wrap;gap:4px;padding-bottom:0.75rem;margin-bottom:1.5rem;border-bottom:1px solid var(--ifm-color-emphasis-300)"><button type="button" class="button_xT6k" style="display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:8px;font-size:0.85rem;font-weight:600;line-height:1.2;cursor:pointer;border:none;background:transparent;text-decoration:none"><svg style="width:14px;height:14px;flex-shrink:0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><path d="M14 2v6h6"></path><path d="M9 13h6"></path><path d="M9 17h6"></path></svg>View as Markdown</button><span aria-hidden="true" style="align-self:center;width:1px;height:1rem;background:var(--ifm-color-emphasis-300)"></span><button type="button" class="button_xT6k" style="display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:8px;font-size:0.85rem;font-weight:600;line-height:1.2;cursor:pointer;border:none;background:transparent;text-decoration:none"><svg style="width:14px;height:14px;flex-shrink:0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="9" y="9" width="12" height="12" rx="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy for LLM</button></div>
<p>Claim Retrieval and Credentials Validation failure results now use the same problem-details error shape as Insurance Verification, the existing Claims Retrieval error types are now documented in the error reference, and Credentials Validation status polling supports long polling.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="whats-new">What's New<a href="https://developer-staging-001.zuub.com/changelog/2026-08-27#whats-new" class="hash-link" aria-label="Direct link to What's New" title="Direct link to What's New">​</a></h2>
<p>This aligns Claim Retrieval and Credentials Validation failure results with the problem-details error shape, publishes error reference pages for the existing Claims Retrieval error types, and adds long polling to the Credentials Validation status endpoint.</p>
<ul>
<li>Claim Retrieval Status <code>result</code> reshaped to <code>type</code> (URI), <code>title</code>, <code>detail</code>, and optional <code>upstreamErrors[]</code>, replacing the old <code>type</code> enum, <code>description</code>, and <code>transient</code> fields.</li>
<li>Credentials Validation Status <code>result</code> reshaped the same way, replacing its <code>type</code>-only enum object.</li>
<li>Claims Retrieval error types, already returned as <code>result.type</code> values, are now documented individually in the error reference: <a href="https://developer-staging-001.zuub.com/docs/errors/result/adjusted-claim">Adjusted Claim</a>, <a href="https://developer-staging-001.zuub.com/docs/errors/result/claim-not-found">Claim Not Found</a>, <a href="https://developer-staging-001.zuub.com/docs/errors/result/claim-procedure-code-not-found">Claim Procedure Code Not Found</a>, <a href="https://developer-staging-001.zuub.com/docs/errors/result/claim-service-date-not-found">Claim Service Date Not Found</a>, <a href="https://developer-staging-001.zuub.com/docs/errors/result/invalid-claim-search-criteria">Invalid Claim Search Criteria</a>, <a href="https://developer-staging-001.zuub.com/docs/errors/result/unexpected-intermittent-claim-data">Unexpected Intermittent Claim Data</a>, and <a href="https://developer-staging-001.zuub.com/docs/errors/result/unresponsive-payer">Unresponsive Payer</a>.</li>
<li>Credentials Validation Status now supports long polling: send <code>Prefer: wait=&lt;seconds&gt;</code> to hold the connection open for new data, and <code>If-None-Match</code> with the response <code>ETag</code> to receive <code>304 Not Modified</code> when nothing has changed.</li>
</ul>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="impact">Impact<a href="https://developer-staging-001.zuub.com/changelog/2026-08-27#impact" class="hash-link" aria-label="Direct link to Impact" title="Direct link to Impact">​</a></h2>
<p>Integrations reading the <code>result</code> field from Claim Retrieval Status or Credentials Validation Status failure responses, and any client wanting to reduce polling overhead on Credentials Validation Status. These changes apply to v2 only; v1 endpoints are unchanged.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="why-this-changed">Why this changed<a href="https://developer-staging-001.zuub.com/changelog/2026-08-27#why-this-changed" class="hash-link" aria-label="Direct link to Why this changed" title="Direct link to Why this changed">​</a></h3>
<p>Claim Retrieval and Credentials Validation results now follow the same problem-details error shape already used by Insurance Verification, so all v2 result errors look consistent across products.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="changes">Changes<a href="https://developer-staging-001.zuub.com/changelog/2026-08-27#changes" class="hash-link" aria-label="Direct link to Changes" title="Direct link to Changes">​</a></h2>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="breaking">Breaking<a href="https://developer-staging-001.zuub.com/changelog/2026-08-27#breaking" class="hash-link" aria-label="Direct link to Breaking" title="Direct link to Breaking">​</a></h3>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="claims-retrieval">Claims Retrieval<a href="https://developer-staging-001.zuub.com/changelog/2026-08-27#claims-retrieval" class="hash-link" aria-label="Direct link to Claims Retrieval" title="Direct link to Claims Retrieval">​</a></h4>
<ul>
<li><span class="badge badge--primary">GET</span> <code>/v2/claim-retrievals/{correlationId}</code></li>
</ul>
<table><thead><tr><th>Applies To</th><th>Change</th><th>Parameter</th><th>Details</th></tr></thead><tbody><tr><td>Response</td><td>Updated</td><td><code>result</code></td><td>Reshaped to <code>type</code> (URI), <code>title</code>, <code>detail</code>, and optional <code>upstreamErrors[]</code>; removes <code>description</code> and <code>transient</code>.</td></tr></tbody></table>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="credential-management">Credential Management<a href="https://developer-staging-001.zuub.com/changelog/2026-08-27#credential-management" class="hash-link" aria-label="Direct link to Credential Management" title="Direct link to Credential Management">​</a></h4>
<ul>
<li><span class="badge badge--primary">GET</span> <code>/v2/credentials-validations/{correlationId}</code></li>
</ul>
<table><thead><tr><th>Applies To</th><th>Change</th><th>Parameter</th><th>Details</th></tr></thead><tbody><tr><td>Response</td><td>Updated</td><td><code>result</code></td><td>Reshaped to <code>type</code> (URI), <code>title</code>, <code>detail</code>, and optional <code>upstreamErrors[]</code>; removes the <code>type</code>-only enum object.</td></tr></tbody></table>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="non-breaking">Non-Breaking<a href="https://developer-staging-001.zuub.com/changelog/2026-08-27#non-breaking" class="hash-link" aria-label="Direct link to Non-Breaking" title="Direct link to Non-Breaking">​</a></h3>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="credential-management-1">Credential Management<a href="https://developer-staging-001.zuub.com/changelog/2026-08-27#credential-management-1" class="hash-link" aria-label="Direct link to Credential Management" title="Direct link to Credential Management">​</a></h4>
<ul>
<li><span class="badge badge--primary">GET</span> <code>/v2/credentials-validations/{correlationId}</code></li>
</ul>
<table><thead><tr><th>Applies To</th><th>Change</th><th>Parameter</th><th>Details</th></tr></thead><tbody><tr><td>Request</td><td>Added</td><td><code>Prefer</code></td><td>New <code>wait=&lt;seconds&gt;</code> header (max 60) to hold the connection open for long polling.</td></tr><tr><td>Request</td><td>Added</td><td><code>If-None-Match</code></td><td>New header, pass the previous <code>ETag</code> to receive <code>304 Not Modified</code> if nothing changed.</td></tr><tr><td>Response</td><td>Added</td><td><code>ETag</code></td><td>New response header identifying the current state; use with <code>If-None-Match</code> on later requests.</td></tr><tr><td>Response</td><td>Added</td><td><code>304</code></td><td>New <code>Not Modified</code> response, returned when long polling times out with no new data.</td></tr></tbody></table>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="upgrade">Upgrade<a href="https://developer-staging-001.zuub.com/changelog/2026-08-27#upgrade" class="hash-link" aria-label="Direct link to Upgrade" title="Direct link to Upgrade">​</a></h2>
<ol>
<li>Update <code>result</code> parsing on <a href="https://developer-staging-001.zuub.com/docs/api/claim-retrieval-status">Claim Retrieval Status</a>: read <code>result.type</code>, <code>result.title</code>, and <code>result.detail</code> instead of <code>result.type</code>, <code>result.description</code>, and <code>result.transient</code>.</li>
<li>Read per-source failures from <code>result.upstreamErrors[].detail</code> on Claim Retrieval Status, if consumed.</li>
<li>Update <code>result</code> parsing on <a href="https://developer-staging-001.zuub.com/docs/api/credentials-validation">Credentials Validation Status</a>: read <code>result.type</code>, <code>result.title</code>, and <code>result.detail</code> instead of the previous <code>type</code>-only object.</li>
<li>Read per-source failures from <code>result.upstreamErrors[].detail</code> on Credentials Validation Status, if consumed.</li>
<li>Optionally, review the newly documented Claims Retrieval error reference pages listed above; the error types themselves are unchanged.</li>
<li>Optionally, adopt long polling on <a href="https://developer-staging-001.zuub.com/docs/api/credentials-validation">Credentials Validation Status</a> by sending <code>Prefer: wait=&lt;seconds&gt;</code> and <code>If-None-Match</code> to reduce polling overhead.</li>
</ol>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="references">References<a href="https://developer-staging-001.zuub.com/changelog/2026-08-27#references" class="hash-link" aria-label="Direct link to References" title="Direct link to References">​</a></h2>
<ul>
<li><a href="https://developer-staging-001.zuub.com/docs/api/claim-retrieval-status">Claim Retrieval Status</a></li>
<li><a href="https://developer-staging-001.zuub.com/docs/api/credentials-validation">Credentials Validation Status</a></li>
<li><a href="https://developer-staging-001.zuub.com/docs/errors/result/adjusted-claim">Adjusted Claim</a></li>
<li><a href="https://developer-staging-001.zuub.com/docs/errors/result/claim-not-found">Claim Not Found</a></li>
<li><a href="https://developer-staging-001.zuub.com/docs/errors/result/claim-procedure-code-not-found">Claim Procedure Code Not Found</a></li>
<li><a href="https://developer-staging-001.zuub.com/docs/errors/result/claim-service-date-not-found">Claim Service Date Not Found</a></li>
<li><a href="https://developer-staging-001.zuub.com/docs/errors/result/invalid-claim-search-criteria">Invalid Claim Search Criteria</a></li>
<li><a href="https://developer-staging-001.zuub.com/docs/errors/result/unexpected-intermittent-claim-data">Unexpected Intermittent Claim Data</a></li>
<li><a href="https://developer-staging-001.zuub.com/docs/errors/result/unresponsive-payer">Unresponsive Payer</a></li>
</ul>]]></content>
        <category label="claims-retrieval" term="claims-retrieval"/>
        <category label="credential-management" term="credential-management"/>
        <category label="breaking" term="breaking"/>
        <category label="v2" term="v2"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Add Plan Not Found Error to Insurance Verification]]></title>
        <id>https://developer-staging-001.zuub.com/changelog/2026-08-21</id>
        <link href="https://developer-staging-001.zuub.com/changelog/2026-08-21"/>
        <updated>2026-08-21T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Insurance verification can now return a Plan Not Found error when the member's plan can't be located.]]></summary>
        <content type="html"><![CDATA[<p class="changelog-subtitle">Insurance Verification — 1 non-breaking</p>
<div style="display:flex;flex-wrap:wrap;gap:4px;padding-bottom:0.75rem;margin-bottom:1.5rem;border-bottom:1px solid var(--ifm-color-emphasis-300)"><button type="button" class="button_xT6k" style="display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:8px;font-size:0.85rem;font-weight:600;line-height:1.2;cursor:pointer;border:none;background:transparent;text-decoration:none"><svg style="width:14px;height:14px;flex-shrink:0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><path d="M14 2v6h6"></path><path d="M9 13h6"></path><path d="M9 17h6"></path></svg>View as Markdown</button><span aria-hidden="true" style="align-self:center;width:1px;height:1rem;background:var(--ifm-color-emphasis-300)"></span><button type="button" class="button_xT6k" style="display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:8px;font-size:0.85rem;font-weight:600;line-height:1.2;cursor:pointer;border:none;background:transparent;text-decoration:none"><svg style="width:14px;height:14px;flex-shrink:0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="9" y="9" width="12" height="12" rx="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy for LLM</button></div>
<p>Insurance verification can now return a <code>Plan Not Found</code> error when the member's plan can't be located.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="whats-new">What's New<a href="https://developer-staging-001.zuub.com/changelog/2026-08-21#whats-new" class="hash-link" aria-label="Direct link to What's New" title="Direct link to What's New">​</a></h2>
<p>Adds a new <code>Plan Not Found</code> error (<code>plan-not-found</code>), returned as a <code>422</code> on synchronous insurance verification requests and as a <code>Failed</code> result on the Insurance Verification Webhook, when the member's plan can't be located.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="impact">Impact<a href="https://developer-staging-001.zuub.com/changelog/2026-08-21#impact" class="hash-link" aria-label="Direct link to Impact" title="Direct link to Impact">​</a></h2>
<p>Integrations handling insurance verification error responses and webhook failure results.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="why-this-changed">Why this changed<a href="https://developer-staging-001.zuub.com/changelog/2026-08-21#why-this-changed" class="hash-link" aria-label="Direct link to Why this changed" title="Direct link to Why this changed">​</a></h3>
<p>Some payer portals can locate the patient but not their plan. <code>Plan Not Found</code> lets that outcome be represented and troubleshot separately from other not-found errors, such as <code>Patient Not Found</code>.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="changes">Changes<a href="https://developer-staging-001.zuub.com/changelog/2026-08-21#changes" class="hash-link" aria-label="Direct link to Changes" title="Direct link to Changes">​</a></h2>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="non-breaking">Non-Breaking<a href="https://developer-staging-001.zuub.com/changelog/2026-08-21#non-breaking" class="hash-link" aria-label="Direct link to Non-Breaking" title="Direct link to Non-Breaking">​</a></h3>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="insurance-verification">Insurance Verification<a href="https://developer-staging-001.zuub.com/changelog/2026-08-21#insurance-verification" class="hash-link" aria-label="Direct link to Insurance Verification" title="Direct link to Insurance Verification">​</a></h4>
<ul>
<li><span class="badge badge--success">POST</span> <code>/v2/insurance-verifications</code></li>
</ul>
<table><thead><tr><th>Applies To</th><th>Change</th><th>Parameter</th><th>Details</th></tr></thead><tbody><tr><td>Response</td><td>Added</td><td><code>422</code></td><td>New <code>Plan Not Found</code> error, returned when the member's plan can't be located.</td></tr></tbody></table>
<ul>
<li><span class="badge badge--secondary">Webhook</span> Insurance Verification Webhook</li>
</ul>
<table><thead><tr><th>Applies To</th><th>Change</th><th>Parameter</th><th>Details</th></tr></thead><tbody><tr><td>Response</td><td>Added</td><td><code>result</code></td><td>New <code>Plan Not Found</code> failure result, returned when the member's plan can't be located.</td></tr></tbody></table>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="upgrade">Upgrade<a href="https://developer-staging-001.zuub.com/changelog/2026-08-21#upgrade" class="hash-link" aria-label="Direct link to Upgrade" title="Direct link to Upgrade">​</a></h2>
<p>No action required. This release is fully backward compatible.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="references">References<a href="https://developer-staging-001.zuub.com/changelog/2026-08-21#references" class="hash-link" aria-label="Direct link to References" title="Direct link to References">​</a></h2>
<ul>
<li><a href="https://developer-staging-001.zuub.com/docs/api/insurance-verification-synchronous">Insurance Verification Synchronous</a></li>
<li><a href="https://developer-staging-001.zuub.com/docs/api/insurance-verification-webhook">Insurance Verification Webhook</a></li>
<li><a href="https://developer-staging-001.zuub.com/docs/errors/api/plan-not-found">Plan Not Found (API)</a></li>
<li><a href="https://developer-staging-001.zuub.com/docs/errors/result/plan-not-found">Plan Not Found (Result)</a></li>
</ul>]]></content>
        <category label="insurance-verification" term="insurance-verification"/>
        <category label="v2" term="v2"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[forwardingEmail Is Now Optional on Payer Portal Registration]]></title>
        <id>https://developer-staging-001.zuub.com/changelog/2026-08-17</id>
        <link href="https://developer-staging-001.zuub.com/changelog/2026-08-17"/>
        <updated>2026-08-17T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[The forwardingEmail field on payer portal registration requests and responses is no longer required.]]></summary>
        <content type="html"><![CDATA[<p class="changelog-subtitle">Portal Registration &amp; Authentication — 1 non-breaking</p>
<div style="display:flex;flex-wrap:wrap;gap:4px;padding-bottom:0.75rem;margin-bottom:1.5rem;border-bottom:1px solid var(--ifm-color-emphasis-300)"><button type="button" class="button_xT6k" style="display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:8px;font-size:0.85rem;font-weight:600;line-height:1.2;cursor:pointer;border:none;background:transparent;text-decoration:none"><svg style="width:14px;height:14px;flex-shrink:0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><path d="M14 2v6h6"></path><path d="M9 13h6"></path><path d="M9 17h6"></path></svg>View as Markdown</button><span aria-hidden="true" style="align-self:center;width:1px;height:1rem;background:var(--ifm-color-emphasis-300)"></span><button type="button" class="button_xT6k" style="display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:8px;font-size:0.85rem;font-weight:600;line-height:1.2;cursor:pointer;border:none;background:transparent;text-decoration:none"><svg style="width:14px;height:14px;flex-shrink:0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="9" y="9" width="12" height="12" rx="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy for LLM</button></div>
<p><code>forwardingEmail</code> is no longer a required field on payer portal registration requests and responses.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="whats-new">What's New<a href="https://developer-staging-001.zuub.com/changelog/2026-08-17#whats-new" class="hash-link" aria-label="Direct link to What's New" title="Direct link to What's New">​</a></h2>
<p>The <code>forwardingEmail</code> field can now be omitted when creating a payer portal registration, and is no longer guaranteed to be present on registration responses.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="impact">Impact<a href="https://developer-staging-001.zuub.com/changelog/2026-08-17#impact" class="hash-link" aria-label="Direct link to Impact" title="Direct link to Impact">​</a></h2>
<p>Integrations that create or list payer portal registrations. No action is required for existing integrations that already send <code>forwardingEmail</code>.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="why-this-changed">Why this changed<a href="https://developer-staging-001.zuub.com/changelog/2026-08-17#why-this-changed" class="hash-link" aria-label="Direct link to Why this changed" title="Direct link to Why this changed">​</a></h3>
<p>Some offices don't have an inbox to forward payer portal emails to, so requiring <code>forwardingEmail</code> blocked registrations that don't need email forwarding.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="changes">Changes<a href="https://developer-staging-001.zuub.com/changelog/2026-08-17#changes" class="hash-link" aria-label="Direct link to Changes" title="Direct link to Changes">​</a></h2>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="non-breaking">Non-Breaking<a href="https://developer-staging-001.zuub.com/changelog/2026-08-17#non-breaking" class="hash-link" aria-label="Direct link to Non-Breaking" title="Direct link to Non-Breaking">​</a></h3>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="portal-registration--authentication">Portal Registration &amp; Authentication<a href="https://developer-staging-001.zuub.com/changelog/2026-08-17#portal-registration--authentication" class="hash-link" aria-label="Direct link to Portal Registration &amp; Authentication" title="Direct link to Portal Registration &amp; Authentication">​</a></h4>
<ul>
<li><span class="badge badge--success">POST</span> <code>/v2/payer-portal-registrations</code></li>
<li><span class="badge badge--primary">GET</span> <code>/v2/payer-portal-registrations</code></li>
</ul>
<table><thead><tr><th>Applies To</th><th>Change</th><th>Parameter</th><th>Details</th></tr></thead><tbody><tr><td>Request</td><td>Updated</td><td><code>forwardingEmail</code></td><td>No longer required.</td></tr><tr><td>Response</td><td>Updated</td><td><code>forwardingEmail</code></td><td>No longer guaranteed to be present.</td></tr></tbody></table>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="upgrade">Upgrade<a href="https://developer-staging-001.zuub.com/changelog/2026-08-17#upgrade" class="hash-link" aria-label="Direct link to Upgrade" title="Direct link to Upgrade">​</a></h2>
<p>No action required. This release is fully backward compatible.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="references">References<a href="https://developer-staging-001.zuub.com/changelog/2026-08-17#references" class="hash-link" aria-label="Direct link to References" title="Direct link to References">​</a></h2>
<ul>
<li><a href="https://developer-staging-001.zuub.com/docs/api/create-payer-portal-registration">Create Payer Portal Registration</a></li>
<li><a href="https://developer-staging-001.zuub.com/docs/api/list-payer-portal-registrations">List Payer Portal Registrations</a></li>
</ul>]]></content>
        <category label="portal-registration-and-authentication" term="portal-registration-and-authentication"/>
        <category label="v2" term="v2"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Add Out of Service Area Enumeration to Network Status]]></title>
        <id>https://developer-staging-001.zuub.com/changelog/2026-08-07</id>
        <link href="https://developer-staging-001.zuub.com/changelog/2026-08-07"/>
        <updated>2026-08-07T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Insurance verification responses can now report a network status of OutOfServiceArea.]]></summary>
        <content type="html"><![CDATA[<p class="changelog-subtitle">Insurance Verification — 1 non-breaking</p>
<div style="display:flex;flex-wrap:wrap;gap:4px;padding-bottom:0.75rem;margin-bottom:1.5rem;border-bottom:1px solid var(--ifm-color-emphasis-300)"><button type="button" class="button_xT6k" style="display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:8px;font-size:0.85rem;font-weight:600;line-height:1.2;cursor:pointer;border:none;background:transparent;text-decoration:none"><svg style="width:14px;height:14px;flex-shrink:0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><path d="M14 2v6h6"></path><path d="M9 13h6"></path><path d="M9 17h6"></path></svg>View as Markdown</button><span aria-hidden="true" style="align-self:center;width:1px;height:1rem;background:var(--ifm-color-emphasis-300)"></span><button type="button" class="button_xT6k" style="display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:8px;font-size:0.85rem;font-weight:600;line-height:1.2;cursor:pointer;border:none;background:transparent;text-decoration:none"><svg style="width:14px;height:14px;flex-shrink:0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="9" y="9" width="12" height="12" rx="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy for LLM</button></div>
<p>Insurance verification responses can now report <code>OutOfServiceArea</code> as a network status.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="whats-new">What's New<a href="https://developer-staging-001.zuub.com/changelog/2026-08-07#whats-new" class="hash-link" aria-label="Direct link to What's New" title="Direct link to What's New">​</a></h2>
<p>Adds <code>OutOfServiceArea</code> as a new possible value for network status, alongside the existing <code>InNetwork</code> and <code>OutOfNetwork</code> values.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="impact">Impact<a href="https://developer-staging-001.zuub.com/changelog/2026-08-07#impact" class="hash-link" aria-label="Direct link to Impact" title="Direct link to Impact">​</a></h2>
<p>Integrations reading network status from insurance verification responses.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="why-this-changed">Why this changed<a href="https://developer-staging-001.zuub.com/changelog/2026-08-07#why-this-changed" class="hash-link" aria-label="Direct link to Why this changed" title="Direct link to Why this changed">​</a></h3>
<p>Some payers report that a provider is outside the member's service area, which is distinct from being out-of-network. <code>OutOfServiceArea</code> lets this outcome be represented accurately instead of being reported as <code>OutOfNetwork</code>.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="changes">Changes<a href="https://developer-staging-001.zuub.com/changelog/2026-08-07#changes" class="hash-link" aria-label="Direct link to Changes" title="Direct link to Changes">​</a></h2>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="non-breaking">Non-Breaking<a href="https://developer-staging-001.zuub.com/changelog/2026-08-07#non-breaking" class="hash-link" aria-label="Direct link to Non-Breaking" title="Direct link to Non-Breaking">​</a></h3>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="insurance-verification">Insurance Verification<a href="https://developer-staging-001.zuub.com/changelog/2026-08-07#insurance-verification" class="hash-link" aria-label="Direct link to Insurance Verification" title="Direct link to Insurance Verification">​</a></h4>
<ul>
<li><span class="badge badge--primary">GET</span> <code>/v2/insurance-verifications/{correlationId}</code></li>
<li><span class="badge badge--success">POST</span> <code>/v2/insurance-verifications</code></li>
<li><span class="badge badge--secondary">Webhook</span> Insurance Verification Webhook</li>
</ul>
<table><thead><tr><th>Applies To</th><th>Change</th><th>Parameter</th><th>Details</th></tr></thead><tbody><tr><td>Response</td><td>Added</td><td><code>network.status</code></td><td>New <code>OutOfServiceArea</code> value</td></tr></tbody></table>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="upgrade">Upgrade<a href="https://developer-staging-001.zuub.com/changelog/2026-08-07#upgrade" class="hash-link" aria-label="Direct link to Upgrade" title="Direct link to Upgrade">​</a></h2>
<p>No action required. This release is fully backward compatible.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="references">References<a href="https://developer-staging-001.zuub.com/changelog/2026-08-07#references" class="hash-link" aria-label="Direct link to References" title="Direct link to References">​</a></h2>
<ul>
<li><a href="https://developer-staging-001.zuub.com/docs/api/get-insurance-verification">Get Insurance Verification</a></li>
<li><a href="https://developer-staging-001.zuub.com/docs/api/insurance-verification-synchronous">Insurance Verification Synchronous</a></li>
<li><a href="https://developer-staging-001.zuub.com/docs/api/insurance-verification-webhook">Insurance Verification Webhook</a></li>
</ul>]]></content>
        <category label="insurance-verification" term="insurance-verification"/>
        <category label="v1" term="v1"/>
        <category label="v2" term="v2"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Introducing the v2 API]]></title>
        <id>https://developer-staging-001.zuub.com/changelog/2026-07-23</id>
        <link href="https://developer-staging-001.zuub.com/changelog/2026-07-23"/>
        <updated>2026-07-23T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[The v2 API reference goes live with a full error message reference, RFC 9457 error responses, a new Partial insurance verification outcome, and expanded benefit schemas.]]></summary>
        <content type="html"><![CDATA[<p class="changelog-subtitle"></p><p>Account Setup, Authentication, Claims Retrieval, Configuration, Credential
Management, Insurance Verification, Payer Network &amp; Portals, Portal
Registration &amp; Authentication: v1 → v2 migration</p><p></p>
<div style="display:flex;flex-wrap:wrap;gap:4px;padding-bottom:0.75rem;margin-bottom:1.5rem;border-bottom:1px solid var(--ifm-color-emphasis-300)"><button type="button" class="button_xT6k" style="display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:8px;font-size:0.85rem;font-weight:600;line-height:1.2;cursor:pointer;border:none;background:transparent;text-decoration:none"><svg style="width:14px;height:14px;flex-shrink:0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><path d="M14 2v6h6"></path><path d="M9 13h6"></path><path d="M9 17h6"></path></svg>View as Markdown</button><span aria-hidden="true" style="align-self:center;width:1px;height:1rem;background:var(--ifm-color-emphasis-300)"></span><button type="button" class="button_xT6k" style="display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:8px;font-size:0.85rem;font-weight:600;line-height:1.2;cursor:pointer;border:none;background:transparent;text-decoration:none"><svg style="width:14px;height:14px;flex-shrink:0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="9" y="9" width="12" height="12" rx="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy for LLM</button></div>
<div class="theme-admonition theme-admonition-warning admonition_xJq3 alert alert--warning"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"></path></svg></span>Deprecation Notice</div><div class="admonitionContent_BuS1"><p><strong>The v1 API will be sunset on December 31, 2026</strong>.
After that date, only v2 will be available. v1 and v2 run side by side until then, so you can migrate incrementally, but plan to complete your move to v2 well ahead of the deadline.</p></div></div>
<p>The v2 API reference is now live, with a complete error message reference and error responses standardized on the RFC 9457 problem+json format. Insurance verification gains a new <code>Partial</code> outcome and several benefit schema additions, alongside changes to failure results and coinsurance that require updates when migrating from v1.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="whats-new">What's New<a href="https://developer-staging-001.zuub.com/changelog/2026-07-23#whats-new" class="hash-link" aria-label="Direct link to What's New" title="Direct link to What's New">​</a></h2>
<p>This release publishes the v2 API reference and standardizes how errors are represented across the API, and it extends the insurance verification contract with a new outcome and richer benefit data.</p>
<ul>
<li>API reference with a category-grouped error message reference for API and webhook errors (including whether each is retryable), with error responses standardized on RFC 9457 problem+json (<code>type</code>, <code>title</code>, <code>status</code>, <code>detail</code>) and validation failures now returned as <code>422</code> across more endpoints.</li>
<li>New <code>Partial</code> status added for insurance verification outcome on both the <a href="https://developer-staging-001.zuub.com/docs/api/get-insurance-verification">Get Insurance Verification</a> and the <a href="https://developer-staging-001.zuub.com/docs/api/insurance-verification-webhook">Insurance Verification Webhook</a>, returning partially-retrieved data with contexts that explain the gaps. For example, payers like Denti-Cal, which require checking multiple portals, may return a <code>Partial</code> status with <code>contexts</code> explaining which portal or data point couldn't be retrieved.</li>
<li>Provider network participation, benefit maximum carryover amounts, and a carry-over disclaimer type added to insurance verification results. Payer coverage for these fields is expanding over time. Availability depends on whether a given payer's portal exposes this data, so these fields may not be populated for every payer yet.</li>
<li>New <code>assignment</code> field added to the <code>plan</code> in <code>InsuranceVerificationV3</code> result, identifying the office and/or provider the plan is assigned to. Applies to plans that restrict coverage to an assigned office or provider, such as HMO, Medicaid, and Medicare. Like other additive fields, availability depends on whether the payer's portal exposes this data.</li>
</ul>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="impact">Impact<a href="https://developer-staging-001.zuub.com/changelog/2026-07-23#impact" class="hash-link" aria-label="Direct link to Impact" title="Direct link to Impact">​</a></h2>
<p>Affects any client moving from v1 to v2. Because v1 and v2 run side by side, existing v1 integrations are unaffected until they migrate, but v1 is retired on <strong>December 31, 2026</strong>, so every v1 integration must move to v2 before that date.</p>
<p>When migrating, every request must move from <code>/v1/*</code> to <code>/v2/*</code>, and clients must parse error bodies as RFC 9457 problem+json (including <code>422</code> validation responses with a field-level <code>errors[]</code> array) rather than the legacy error shapes.</p>
<p>Insurance verification integrations additionally must handle the new <code>Partial</code> status and the reshaped failure <code>result</code>, and read coinsurance <code>percentage.final</code> as a range. The additive benefit fields require no action to keep working.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="why-this-changed">Why this changed<a href="https://developer-staging-001.zuub.com/changelog/2026-07-23#why-this-changed" class="hash-link" aria-label="Direct link to Why this changed" title="Direct link to Why this changed">​</a></h3>
<ul>
<li>Error responses were standardized on the RFC 9457 problem-details format for consistency across the v2 API.</li>
<li>The new <code>Partial</code> status lets insurance verification return the benefits it could retrieve, with <code>contexts</code> explaining what was missing and why, instead of failing the entire request when only some data is unavailable.</li>
</ul>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="changes">Changes<a href="https://developer-staging-001.zuub.com/changelog/2026-07-23#changes" class="hash-link" aria-label="Direct link to Changes" title="Direct link to Changes">​</a></h2>
<p>The following summarizes the API contract as it moves from v1 to v2, grouped by resource. Because v1 and v2 run side by side, none of this affects existing v1 integrations.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="all-api-endpoints">All API Endpoints<a href="https://developer-staging-001.zuub.com/changelog/2026-07-23#all-api-endpoints" class="hash-link" aria-label="Direct link to All API Endpoints" title="Direct link to All API Endpoints">​</a></h3>
<table><thead><tr><th>Applies To</th><th>Change</th><th>Parameter</th><th>Details</th></tr></thead><tbody><tr><td>Request</td><td>Updated</td><td>Base Path</td><td>Every resource moved from <code>/v1/*</code> to <code>/v2/*</code>. Update the version prefix on all requests.</td></tr><tr><td>Response</td><td>Updated</td><td>Error Response Body</td><td>Error responses standardized on RFC 9457 problem+json (served as <code>application/problem+json</code>): <code>type</code> is now a URI (was a token such as <code>Internal</code>), and <code>title</code> and <code>detail</code> are added. Upstream failures are reported under <code>upstreamErrors[]</code>, replacing <code>details</code>. The legacy <code>ErrorDetail</code> and <code>ErrorType</code> shapes were removed.</td></tr></tbody></table>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="account-setup-credential-management-portal-registration--authentication">Account Setup, Credential Management, Portal Registration &amp; Authentication<a href="https://developer-staging-001.zuub.com/changelog/2026-07-23#account-setup-credential-management-portal-registration--authentication" class="hash-link" aria-label="Direct link to Account Setup, Credential Management, Portal Registration &amp; Authentication" title="Direct link to Account Setup, Credential Management, Portal Registration &amp; Authentication">​</a></h3>
<ul>
<li><span class="badge badge--primary">GET</span> <code>/v2/organizations/{organizationId}</code></li>
<li><span class="badge badge--primary">GET</span> <code>/v2/organizations/{organizationId}/clinics</code></li>
<li><span class="badge badge--primary">GET</span> <code>/v2/clinics/{clinicId}</code></li>
<li><span class="badge badge--primary">GET</span> <code>/v2/clinics/{clinicId}/portals/{portalId}/credentials</code></li>
<li><span class="badge badge--primary">GET</span> <code>/v2/emails</code></li>
<li><span class="badge badge--primary">GET</span> <code>/v2/sms-messages</code></li>
<li><span class="badge badge--primary">GET</span> <code>/v2/payer-portal-registrations/{correlationId}/emails</code></li>
<li><span class="badge badge--primary">GET</span> <code>/v2/payer-portal-registrations/{correlationId}/sms-messages</code></li>
</ul>
<table><thead><tr><th>Applies To</th><th>Change</th><th>Parameter</th><th>Details</th></tr></thead><tbody><tr><td>Response</td><td>Added</td><td><code>422</code></td><td>Request validation failures now return <code>422</code> with a problem+json body that includes an <code>errors[]</code> array of field-level failures, each with the offending <code>field</code>, a <code>message</code>, and a <code>code</code> (e.g. <code>invalid_value</code>).</td></tr></tbody></table>
<ul>
<li><span class="badge badge--success">POST</span> <code>/v2/organizations</code></li>
<li><span class="badge badge--primary">GET</span> <code>/v2/organizations/{organizationId}/clinics</code></li>
<li><span class="badge badge--primary">GET</span> <code>/v2/customers/{customerId}/organizations</code></li>
<li><span class="badge badge--success">POST</span> <span class="badge badge--primary">GET</span> <span class="badge badge--warning">PATCH</span> <code>/v2/clinics/{clinicId}/portals/{portalId}/credentials</code></li>
</ul>
<table><thead><tr><th>Applies To</th><th>Change</th><th>Parameter</th><th>Details</th></tr></thead><tbody><tr><td>Response</td><td>Removed</td><td><code>400</code>, <code>404</code>, <code>409</code></td><td>Several bad-request, not-found, and conflict responses are no longer returned (<code>400</code> on <code>GET /v2/customers/{customerId}/organizations</code>; <code>409</code> on <code>POST</code> credentials); validation now surfaces as <code>422</code>.</td></tr></tbody></table>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="insurance-verification">Insurance Verification<a href="https://developer-staging-001.zuub.com/changelog/2026-07-23#insurance-verification" class="hash-link" aria-label="Direct link to Insurance Verification" title="Direct link to Insurance Verification">​</a></h3>
<ul>
<li><span class="badge badge--primary">GET</span> <code>/v2/insurance-verifications/{correlationId}</code></li>
<li><span class="badge badge--secondary">Webhook</span> Insurance Verification Webhook</li>
</ul>
<table><thead><tr><th>Applies To</th><th>Change</th><th>Parameter</th><th>Details</th></tr></thead><tbody><tr><td>Response</td><td>Added</td><td><code>status</code></td><td>New <code>Partial</code> outcome: <code>status</code> is <code>Partial</code> with a <code>result</code> holding partially-retrieved <code>data</code> and <code>contexts</code> explaining the gaps.</td></tr><tr><td>Response</td><td>Added</td><td><code>result.verificationProvider</code>, <code>result.disclaimers</code>, benefit maximum <code>carryoverAmount</code> / <code>remainingCarryoverAmount</code></td><td>New benefit data: <code>verificationProvider</code> (with network <code>participation.status</code>), a <code>CarryOverDetails</code> disclaimer type, and carryover amounts on benefit maximums.</td></tr><tr><td>Response</td><td>Added</td><td><code>result.plan.assignment</code></td><td>New optional <code>assignment</code> on the <code>plan</code> within <code>InsuranceVerificationV3</code> results, identifying the office and/or provider the plan is assigned to.</td></tr><tr><td>Response</td><td>Updated</td><td><code>result</code></td><td>Failure <code>result</code> reshaped to problem-details: adds <code>title</code>, <code>detail</code>, <code>upstreamErrors[]</code>; <code>type</code> is now a URI; removes <code>details.code</code> and <code>details.message</code>.</td></tr><tr><td>Response</td><td>Removed</td><td><code>422</code> (GET only)</td><td><code>GET /v2/insurance-verifications/{correlationId}</code> no longer documents <code>422</code>; error conditions are conveyed through the <code>Failed</code> result and the standardized error bodies.</td></tr></tbody></table>
<ul>
<li><span class="badge badge--success">POST</span> <code>/v2/insurance-verifications</code></li>
<li><span class="badge badge--success">POST</span> <code>/v2/insurance-verification-requests</code></li>
</ul>
<table><thead><tr><th>Applies To</th><th>Change</th><th>Parameter</th><th>Details</th></tr></thead><tbody><tr><td>Response</td><td>Added</td><td><code>401</code>, <code>403</code>, <code>404</code>, <code>503</code></td><td>Authentication, authorization, and not-found error responses are now documented; <code>503</code> is documented on the synchronous <code>POST /v2/insurance-verifications</code>.</td></tr></tbody></table>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="claims-retrieval">Claims Retrieval<a href="https://developer-staging-001.zuub.com/changelog/2026-07-23#claims-retrieval" class="hash-link" aria-label="Direct link to Claims Retrieval" title="Direct link to Claims Retrieval">​</a></h3>
<ul>
<li><span class="badge badge--success">POST</span> <code>/v2/claim-retrieval-requests</code></li>
</ul>
<table><thead><tr><th>Applies To</th><th>Change</th><th>Parameter</th><th>Details</th></tr></thead><tbody><tr><td>Response</td><td>Added</td><td><code>404</code></td><td>Now documents a <code>404</code> not-found response.</td></tr></tbody></table>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="upgrade">Upgrade<a href="https://developer-staging-001.zuub.com/changelog/2026-07-23#upgrade" class="hash-link" aria-label="Direct link to Upgrade" title="Direct link to Upgrade">​</a></h2>
<ol>
<li>Repoint every request from <code>/v1/*</code> to <code>/v2/*</code>. The resource set is unchanged; only the version prefix moved.</li>
<li>Parse all error bodies as RFC 9457 problem+json (<code>type</code>, <code>title</code>, <code>status</code>, <code>detail</code>). See the <a href="https://developer-staging-001.zuub.com/docs/errors">Error Reference</a> for the full list of error types:<!-- -->
<ul>
<li>Treat <code>type</code> as a URI, not a token like <code>Internal</code>.</li>
<li>Read upstream failures from <code>upstreamErrors[]</code> (was <code>details</code>).</li>
</ul>
</li>
<li>Update failure-response parsing on <a href="https://developer-staging-001.zuub.com/docs/api/get-insurance-verification">Get Insurance Verification</a> and the <a href="https://developer-staging-001.zuub.com/docs/api/insurance-verification-webhook">Insurance Verification Webhook</a>:<!-- -->
<ul>
<li>Replace <code>result.details.code</code> and <code>result.details.message</code> with <code>result.type</code>, <code>result.title</code>, and <code>result.detail</code>.</li>
<li>Read per-source failures from <code>result.upstreamErrors[].detail</code>. See the <a href="https://developer-staging-001.zuub.com/docs/errors/result/upstream-error">Upstream Error</a> webhook example.</li>
</ul>
</li>
<li>Handle <code>422</code> validation responses: read the <code>errors[]</code> array for field-level failures, each with:<!-- -->
<ul>
<li><code>field</code>: the parameter that failed validation.</li>
<li><code>message</code>: a human-readable description.</li>
<li><code>code</code>: a machine-readable reason (e.g. <code>invalid_value</code>).</li>
</ul>
</li>
<li>Read coinsurance <code>percentage.final</code> as an object with numeric <code>start</code> and <code>end</code>, not a string.</li>
<li>Handle the new <code>Partial</code> status on <a href="https://developer-staging-001.zuub.com/docs/api/get-insurance-verification">Get Insurance Verification</a> and the <a href="https://developer-staging-001.zuub.com/docs/api/insurance-verification-webhook">Insurance Verification Webhook</a>: read <code>result.data</code> and the new <code>result.contexts</code>.</li>
<li>Stop relying on error codes that v2 removed:<!-- -->
<ul>
<li><code>422</code> on <a href="https://developer-staging-001.zuub.com/docs/api/get-insurance-verification">Get Insurance Verification</a>.</li>
<li><code>400</code>, <code>404</code>, and <code>409</code> responses dropped from the organization, clinic, and credential endpoints.</li>
</ul>
</li>
<li>Optionally, consume the new <code>verificationProvider</code> field on <code>InsuranceVerificationV3</code> result, the provider used to look up benefits. See <a href="https://developer-staging-001.zuub.com/docs/api/get-insurance-verification">Get Insurance Verification</a> for the full schema. Includes:<!-- -->
<ul>
<li><code>firstName</code>, <code>lastName</code>, <code>middleName</code>, <code>address</code>, <code>taxId</code>.</li>
<li>Network <code>participation.status</code> (<code>Participating</code> and <code>Non-Participating</code>).</li>
</ul>
</li>
<li>Optionally, consume the new <code>assignment</code> field on the <code>InsuranceVerificationV3</code> result's plan (<code>result.plan.assignment</code>), identifying the office and/or provider the plan is assigned to.</li>
</ol>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="references">References<a href="https://developer-staging-001.zuub.com/changelog/2026-07-23#references" class="hash-link" aria-label="Direct link to References" title="Direct link to References">​</a></h2>
<ul>
<li><a href="https://developer-staging-001.zuub.com/docs/errors">Error Reference</a></li>
<li><a href="https://developer-staging-001.zuub.com/docs/api/get-insurance-verification">Get Insurance Verification</a></li>
<li><a href="https://developer-staging-001.zuub.com/docs/api/insurance-verification-webhook">Insurance Verification Webhook</a></li>
<li><a href="https://developer-staging-001.zuub.com/docs/errors/result/upstream-error">Upstream Error</a></li>
</ul>]]></content>
        <category label="account-setup" term="account-setup"/>
        <category label="authentication" term="authentication"/>
        <category label="claims-retrieval" term="claims-retrieval"/>
        <category label="configuration" term="configuration"/>
        <category label="credential-management" term="credential-management"/>
        <category label="insurance-verification" term="insurance-verification"/>
        <category label="migration" term="migration"/>
        <category label="payer-network-and-portals" term="payer-network-and-portals"/>
        <category label="portal-registration-and-authentication" term="portal-registration-and-authentication"/>
        <category label="v2" term="v2"/>
    </entry>
</feed>