> ## Documentation Index
> Fetch the complete documentation index at: https://rain-sandbox-trial.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Onboard a Cardholder

> Submit a KYC or KYB application, track it through the application states, and confirm approval before issuing a card.

Before you can issue a card, you must onboard the cardholder by submitting a
compliance application and getting it approved. This page gives you the overall
flow and links to the detailed compliance guides for each step.

<Check>
  **Consumer and Corporate programs only:**

  Onboarding through applications applies to Consumer and Corporate Programs. It
  is not relevant to the Authorized User Program.
</Check>

## How onboarding works

How you onboard a cardholder depends on your program type:

* **Consumer programs** verify an individual through KYC. You submit a
  [consumer application for a user](/reference/applications/create-a-consumer-application-for-a-user).
* **Corporate programs** verify the company through KYB. You submit a
  [corporate application for a company](/reference/applications/create-a-corporate-application-for-a-company),
  which also creates the company's first user. KYB does not replace per-person
  verification: the company's first user, every UBO, and every additional
  user you add each go through their own KYC application, on top of the
  company's KYB. See [Who verifies what](/docs/who-verifies-what) and
  [Ultimate Beneficial Owner (UBO)](/docs/ultimate-beneficial-owner-ubo).

Both program types require supporting compliance documents, which you upload
once per document. For the full submission workflow and the list of accepted
documents, see [Signing up a customer](/docs/signing-up-a-customer) and
[KYC/KYB documents](/docs/kyc-kyb-documents).

## The application state machine

After you submit an application, it moves through a series of states until it
reaches a terminal decision. You can group the states by what they ask of you:

* **In progress:** `notStarted`, `pending`, and `manualReview`. No action is
  needed. Wait for the next status.
* **Action required:** `needsVerification` and `needsInformation`. The
  cardholder must complete verification or resubmit information.
* **Terminal:** `approved`, `denied`, `locked`, `canceled`, and `exempt`. No
  further transitions occur.

For what each state means, what triggers it, and what to do next, see
[Application states](/docs/application-states).

## Confirm approval

Wait for the application status to reach `approved` before you issue a card. You
can confirm approval in one of two ways:

* **Poll** the application status endpoint for
  [users](/reference/applications/get-the-status-of-a-users-consumer-application)
  or [companies](/reference/applications/get-the-status-of-a-companys-corporate-application).
* **Listen** for a [webhook](/docs/webhooks) on the
  [user](/docs/identity-and-compliance#user-updated) or [company](/docs/identity-and-compliance#company-updated) status change.

When an application is approved, Rain creates the cardholder automatically, so
you can move straight to issuing a card.

## Handle rejections and information requests

When an application needs attention, Rain returns a link you can use to redirect
the cardholder to Rain's hosted verification flow:

* **`needsVerification`** (Consumer programs only): the applicant has not yet
  submitted identity documents. Redirect them to the verification flow.
* **`needsInformation`**: documents were rejected with a retryable reason, such
  as a blurry photo or an expired document. The cardholder can resubmit through
  the hosted flow or you can resubmit through the update endpoints.
* **`denied`**: the application is permanently denied and cannot be resubmitted.
* **`locked`**: set by Rain's compliance team. Contact
  [platform@rain.xyz](mailto:platform@rain.xyz) if you need details.

For the exact redirect fields and resubmission endpoints, see
[Application states](/docs/application-states).

## What's next

<Columns cols={3}>
  <Card title="Issue a card" icon="credit-card" href="/docs/issuing-cards">
    Create a virtual or physical card for the approved cardholder.
  </Card>

  <Card title="Application states" icon="list-check" href="/docs/application-states">
    See every application status and the transitions to expect.
  </Card>

  <Card title="KYC/KYB documents" icon="file-lines" href="/docs/kyc-kyb-documents">
    Review the supporting documents each program type requires.
  </Card>
</Columns>
