> ## Documentation Index
> Fetch the complete documentation index at: https://apidocs.hopnow.io/llms.txt
> Use this file to discover all available pages before exploring further.

# End-Customer Onboarding (KYB)

> From creating a draft account to the account.updated webhook that reports the KYB result — requirements-driven, with automatic submission and no client-facing submit step.

<div className="hop-lede">Onboarding a business end customer is <span className="hop-strong">requirements-driven</span>: required fields, entity-document types, and associated-person roles come from the requirements returned by Get Account. There is <span className="hop-strong">no client-facing submit step</span> — Hop submits automatically once all requirements are satisfied. Use the control below to walk the three review outcomes.</div>

<div className="hop-flow hop-flow-kyb">
  <div className="hop-controls">
    <span className="hop-controls-label">Review outcome</span>

    <div className="hop-toggle" role="group" aria-label="Review outcome">
      <input id="kyb-mode-approved" type="radio" className="hop-mode-input" name="kyb-mode" defaultChecked />

      <label htmlFor="kyb-mode-approved"><span className="hop-toggle-dot hop-toggle-dot-success" />Approved</label>

      <input id="kyb-mode-action" type="radio" className="hop-mode-input" name="kyb-mode" />

      <label htmlFor="kyb-mode-action"><span className="hop-toggle-dot hop-toggle-dot-warning" />Action needed</label>

      <input id="kyb-mode-rejected" type="radio" className="hop-mode-input" name="kyb-mode" />

      <label htmlFor="kyb-mode-rejected"><span className="hop-toggle-dot hop-toggle-dot-danger" />Rejected</label>
    </div>
  </div>

  <div className="hop-prereq">↳ <span className="hop-strong">Business account</span> (<code>type: “business”</code>). Required fields, entity-document types, and associated-person roles come from the <span className="hop-strong">requirements returned by Get Account</span>. Agreements are separate account-scoped actions that gate activation independently of automatic KYB submission readiness.</div>

  <div className="hop-legend" aria-label="Flow legend">
    <span className="hop-legend-item"><span className="hop-pill hop-post"><span className="hop-method">POST</span></span>write</span>
    <span className="hop-legend-item"><span className="hop-pill hop-get"><span className="hop-method">GET</span></span>read</span>
    <span className="hop-legend-item"><span className="hop-pill hop-patch"><span className="hop-method">PATCH</span></span>update</span>
    <span className="hop-legend-item"><span className="hop-pill hop-webhook">webhook</span>event you receive</span>
    <span className="hop-legend-item"><span className="hop-pill hop-rail">Hosted</span>Hop-hosted flow</span>
    <span className="hop-legend-item"><span className="hop-pill hop-object">acct\_</span>resource</span>
    <span className="hop-legend-item hop-actor-key hop-actor-platform">— Platform</span>
    <span className="hop-legend-item hop-actor-key hop-actor-hop">— Hop</span>
    <span className="hop-legend-item hop-actor-key hop-actor-customer">— End customer</span>
  </div>

  <div className="hop-scroll">
    <div className="hop-phases" aria-hidden="true">
      <div className="hop-phase hop-span-2">Create</div>
      <div className="hop-phase hop-span-3">Satisfy requirements</div>
      <div className="hop-phase hop-span-2">Submit & review (automatic)</div>
      <div className="hop-phase hop-span-2">Outcome</div>
      <div className="hop-phase hop-span-2">Agreements & go-live</div>
    </div>

    <div className="hop-swim">
      <div className="hop-lane">
        <div className="hop-lane-label">
          <span className="hop-lane-bar hop-lane-platform" />

          <span>Platform<span className="hop-lane-subtitle">you</span></span>
        </div>

        <div className="hop-track">
          <div className="hop-slot">
            <a href="/va/accounts/create-account" data-link-label="API ↗" className="hop-step hop-step-platform">
              <span className="hop-step-number">1</span>
              <span className="hop-step-title">Create the account — opens a draft KYB application</span>

              <span className="hop-step-pills">
                <span className="hop-pill hop-post"><span className="hop-method">POST</span>/customers/\{cid}/accounts</span>
                <span className="hop-pill hop-webhook">account.created</span>
                <span className="hop-pill hop-object">acct\_</span>
              </span>

              <span className="hop-chevron">›</span>
            </a>
          </div>

          <div className="hop-slot">
            <a href="/va/accounts/get-account" data-link-label="API ↗" className="hop-step hop-step-platform">
              <span className="hop-step-number">2</span>
              <span className="hop-step-title">Get Account — the source of truth for what is needed</span>

              <span className="hop-step-pills">
                <span className="hop-pill hop-get"><span className="hop-method">GET</span>/…/accounts/\{id}</span>
                <span className="hop-pill hop-object">requirements</span>
              </span>

              <span className="hop-chevron">›</span>
            </a>
          </div>

          <div className="hop-slot">
            <a href="/va/associated-persons/create-associated-person" data-link-label="API ↗" className="hop-step hop-step-platform">
              <span className="hop-step-number">3</span>
              <span className="hop-step-title">Add required UBOs, directors, and control persons</span>

              <span className="hop-step-pills">
                <span className="hop-pill hop-post"><span className="hop-method">POST</span>/…/associated-persons</span>
                <span className="hop-pill hop-object">aap\_</span>
              </span>

              <span className="hop-chevron">›</span>
            </a>
          </div>

          <div className="hop-slot">
            <a href="/va/associated-persons/create-verification-session" data-link-label="API ↗" className="hop-step hop-step-platform">
              <span className="hop-step-number">4</span>
              <span className="hop-step-title">Create a hosted verification session and share its link</span>

              <span className="hop-step-pills">
                <span className="hop-pill hop-post"><span className="hop-method">POST</span>/…/verification-session</span>
                <span className="hop-pill hop-rail">Hosted verification</span>
              </span>

              <span className="hop-chevron">›</span>
            </a>
          </div>

          <div className="hop-slot">
            <a href="/va/documents/upload-account-document" data-link-label="API ↗" className="hop-step hop-step-platform">
              <span className="hop-step-number">5</span>
              <span className="hop-step-title">Upload entity documents against each requirement\_key</span>

              <span className="hop-step-pills">
                <span className="hop-pill hop-post"><span className="hop-method">POST</span>/…/accounts/\{id}/documents</span>
                <span className="hop-pill hop-object">doc\_</span>
              </span>

              <span className="hop-chevron">›</span>
            </a>
          </div>

          <div className="hop-slot" />

          <div className="hop-slot" />

          <div className="hop-slot" />

          <div className="hop-slot" />

          <div className="hop-slot" />

          <div className="hop-slot">
            <a href="/va/kyb-verification" data-link-label="Guide ↗" className="hop-step hop-step-platform">
              <span className="hop-step-number">11</span>

              <span className="hop-step-title">
                <span className="hop-mode-copy hop-mode-approved">Account activated — ready to provision a virtual account</span>
                <span className="hop-mode-copy hop-mode-action">Correct the requested items; automatic review resumes</span>
                <span className="hop-mode-copy hop-mode-rejected">Onboarding stops — rejected is terminal</span>
              </span>

              <span className="hop-step-pills hop-mode-copy hop-mode-approved">
                <span className="hop-pill hop-object">kyc\_status: approved</span>
                <span className="hop-pill hop-post"><span className="hop-method">POST</span>/accounts/\{id}/virtual-accounts</span>
              </span>

              <span className="hop-step-pills hop-mode-copy hop-mode-action">
                <span className="hop-pill hop-patch"><span className="hop-method">PATCH</span>/…/accounts/\{id}</span>
                <span className="hop-pill hop-post"><span className="hop-method">POST</span>/…/documents</span>
              </span>

              <span className="hop-step-pills hop-mode-copy hop-mode-rejected">
                <span className="hop-pill hop-object">rejection\_reasons</span>
              </span>
            </a>
          </div>
        </div>
      </div>

      <div className="hop-lane">
        <div className="hop-lane-label">
          <span className="hop-lane-bar hop-lane-hop" />

          <span>Hop<span className="hop-lane-subtitle">API · verification</span></span>
        </div>

        <div className="hop-track">
          <div className="hop-slot" />

          <div className="hop-slot" />

          <div className="hop-slot" />

          <div className="hop-slot" />

          <div className="hop-slot" />

          <div className="hop-slot">
            <a href="/va/kyb-verification" data-link-label="Guide ↗" className="hop-step hop-step-hop">
              <span className="hop-step-number">6</span>
              <span className="hop-step-title">Hop re-checks requirements after every change; submits when ready</span>

              <span className="hop-step-pills">
                <span className="hop-pill hop-object">ready\_for\_submission</span>
                <span className="hop-pill hop-object">kyc\_status: under\_review</span>
              </span>

              <span className="hop-chevron">›</span>
            </a>
          </div>

          <div className="hop-slot">
            <a href="/va/kyb-verification" data-link-label="Guide ↗" className="hop-step hop-step-hop">
              <span className="hop-step-number">7</span>
              <span className="hop-step-title">Hop runs sanctions, PEP, document, and identity review</span>

              <span className="hop-step-pills">
                <span className="hop-pill hop-rail">Verification review</span>
              </span>

              <span className="hop-chevron">›</span>
            </a>
          </div>

          <div className="hop-slot">
            <a href="/va/webhooks/events" data-link-label="Events ↗" className="hop-step hop-step-hop">
              <span className="hop-step-number">8</span>
              <span className="hop-step-title">Hop emits account.updated with the KYB outcome</span>

              <span className="hop-step-pills">
                <span className="hop-pill hop-webhook">account.updated</span>
              </span>

              <span className="hop-chevron">›</span>
            </a>
          </div>

          <div className="hop-slot">
            <a href="/va/kyb-verification" data-link-label="Guide ↗" className="hop-step hop-step-hop hop-outcome-card">
              <span className="hop-step-number">9</span>

              <span className="hop-step-title">
                <span className="hop-mode-copy hop-mode-approved">Approved — KYB verification passed</span>
                <span className="hop-mode-copy hop-mode-action">Action needed — correct items, review resumes automatically</span>
                <span className="hop-mode-copy hop-mode-rejected">Rejected — terminal</span>
              </span>

              <span className="hop-step-pills hop-mode-copy hop-mode-approved">
                <span className="hop-pill hop-webhook">account.updated</span>
                <span className="hop-pill hop-object">kyc\_status: approved</span>
              </span>

              <span className="hop-step-pills hop-mode-copy hop-mode-action">
                <span className="hop-pill hop-webhook">account.updated</span>
                <span className="hop-pill hop-patch"><span className="hop-method">PATCH</span>/…/accounts/\{id}</span>
              </span>

              <span className="hop-step-pills hop-mode-copy hop-mode-rejected">
                <span className="hop-pill hop-webhook">account.updated</span>
                <span className="hop-pill hop-object">rejection\_reasons</span>
              </span>

              <span className="hop-chevron">›</span>
            </a>
          </div>

          <div className="hop-slot" />

          <div className="hop-slot" />
        </div>
      </div>

      <div className="hop-lane">
        <div className="hop-lane-label">
          <span className="hop-lane-bar hop-lane-customer" />

          <span>End customer<span className="hop-lane-subtitle">business & its people</span></span>
        </div>

        <div className="hop-track">
          <div className="hop-slot" />

          <div className="hop-slot" />

          <div className="hop-slot" />

          <div className="hop-slot" />

          <div className="hop-slot" />

          <div className="hop-slot" />

          <div className="hop-slot" />

          <div className="hop-slot" />

          <div className="hop-slot" />

          <div className="hop-slot">
            <a href="/va/agreements/submit-agreement-actions" data-link-label="API ↗" className="hop-step hop-step-customer">
              <span className="hop-step-number">10</span>
              <span className="hop-step-title">Handle assigned agreements as a separate activation gate</span>

              <span className="hop-step-pills">
                <span className="hop-pill hop-get"><span className="hop-method">GET</span>/…/agreements</span>
                <span className="hop-pill hop-post"><span className="hop-method">POST</span>/…/agreements/actions</span>
                <span className="hop-pill hop-object">aagr\_</span>
              </span>

              <span className="hop-chevron">›</span>
            </a>
          </div>

          <div className="hop-slot" />
        </div>
      </div>
    </div>
  </div>

  <p className="hop-hint">Tip: select any card to open its API reference or guide. The review-outcome control changes steps 9 and 11. Scroll down to follow the flow ↓</p>
  <div className="hop-footnote">Account creation opens a draft KYB application. Hop re-checks the requirements after every change and starts verification review automatically once all requirements are met. Agreements are independent account-scoped actions accepted by an authorized associated person and gate activation separately.</div>
</div>
