---
title: Partner onboarding
description: Everything between signing with Figure and your first funded loan, in order, for whichever path you're launching.
toc: false
---

Some onboarding steps are yours, some are Figure's, and a few we do together. Each launch has its own path, so pick the one you're working on. Launching more than one? Work through each path; shared steps like kickoff and go-live only happen once.

{% journey %}

{% journey-step id="kickoff" title="Kick off with Figure" owner="together" tracks="private-label api assets" %}
Meet your Figure partner team, confirm which products you're launching, and agree on contacts for engineering, compliance, and operations. Questions at any point go to [partner-help@figure.com](mailto:partner-help@figure.com).
{% /journey-step %}

{% journey-step id="domains" title="Choose your domains" owner="you" tracks="private-label" %}
Pick the subdomain borrowers will see, such as `loans.partnerbank.com`. A subdomain is required; Figure can't host your product at the root of your domain. Your test site and certificates follow from it. See [Domains & DNS](/partner-onboarding/domain-configuration).
{% /journey-step %}

{% journey-step id="dns" title="Add your DNS records" owner="you" tracks="private-label" %}
Add two `CNAME` records with your DNS provider, then verify them with the [DNS checker](/partner-onboarding/domain-configuration#domain-checker). There's a [step-by-step guide](/partner-onboarding/dns) for Cloudflare, GoDaddy, Route 53, and more.
{% /journey-step %}

{% journey-step id="logos" title="Send your logos" owner="you" tracks="private-label" %}
Send a primary logo and a square logo as optimized SVGs. Check them against the [logo requirements](/partner-onboarding/logo-requirements) first to avoid a round trip.
{% /journey-step %}

{% journey-step id="configure" title="Figure configures your test environment" owner="figure" tracks="private-label api" %}
Figure sets up your branding, domains, and certificates in test, and onboards your loan officers. Each loan officer gets a `loanOriginatorUuid`, which you'll find in Lead Portal and send with API requests.
{% /journey-step %}

{% journey-step id="api-access" title="Get API access and make your first call" owner="together" tracks="api" %}
Figure issues your test API key. Every request needs the `apikey` and `User-Agent` headers; [API basics](/getting-started) covers the common request format. List your loan officers with the [Loan Originators API](/loan-originator/guide) as a first call.
{% /journey-step %}

{% journey-step id="encryption" title="Set up payload encryption" owner="together" tracks="api" %}
Requests with borrower data are encrypted with JWE using [Figure's public key](/jwe-data-protection/rsa-secret-exchange). Can't encrypt client-side? Use the [Encryption API](/jwe-data-protection/encryption-api). Figure can also exchange PGP keys with you to encrypt responses and webhooks.
{% /journey-step %}

{% journey-step id="build" title="Build your integration" owner="you" tracks="api" %}
Start with the [HELOC inquiries overview](/heloc-inquiries) to see how an inquiry moves from prefill to hand-off, then follow the [integration guide](/heloc-inquiries/guide). Showing rates before an application? Add [pre-qualification](/heloc-pre-qualification/guide).
{% /journey-step %}

{% journey-step id="webhooks" title="Receive webhooks" owner="you" tracks="api" %}
Give Figure an HTTPS endpoint during onboarding and we'll notify it as inquiries and applications move forward. See [Webhooks](/webhooks), and if you allowlist traffic, use [Figure's IP ranges](/ips).
{% /journey-step %}

{% journey-step id="business-onboarding" title="Complete business onboarding" owner="together" tracks="assets" %}
Complete KYB/KYC in Figure's Business Portal, create your Figure Markets wallet, and send the IP addresses of the systems that will call the gateway. The [system setup checklist](/asset-onboarding/setup) lists everything Figure needs.
{% /journey-step %}

{% journey-step id="origination-data" title="Send origination data" owner="you" tracks="assets" %}
Submit loan tapes and documents with the [Origination Data API](/asset-onboarding/origination), then track each request until your loans are on chain.
{% /journey-step %}

{% journey-step id="servicing-data" title="Send servicing updates" owner="you" tracks="assets" %}
Keep loan data current by uploading servicing tapes with the [Servicing Data API](/asset-onboarding/servicing).
{% /journey-step %}

{% journey-step id="portfolio" title="Download portfolio reports" owner="you" tracks="assets" %}
Pull reports on the loans you own or have pledged with the [Portfolio Manager API](/portfolio-manager).
{% /journey-step %}

{% journey-step id="reporting" title="Set up data exports" owner="together" tracks="private-label api" %}
Figure delivers scheduled [data exports](/data-integration/data-export) of application, funding, and compliance data. Choose a [delivery method](/data-integration/file-exchange) and [exchange PGP keys](/key-exchange#pgp-keys-for-encryption), since every export is encrypted.
{% /journey-step %}

{% journey-step id="uat" title="Test end to end in UAT" owner="you" tracks="private-label api" %}
Run happy-path and unhappy-path scenarios through Lead Portal, your landing page, or your API integration with the [HELOC testing guide](/partner-onboarding/uat-testing/heloc-testing). Never test in production.
{% /journey-step %}

{% journey-step id="launch" title="Go live" owner="together" tracks="private-label api assets" %}
Figure enables production and you switch to your production keys and hosts. Subscribe to [status.figure.com](https://status.figure.com) for incident and maintenance updates.
{% /journey-step %}

{% /journey %}

## Need a hand?

Your Figure partner team is with you the whole way. Email [partner-help@figure.com](mailto:partner-help@figure.com), or see [Contact](/contact) for other ways to reach us.
