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

# Overview

> How Reap verifies companies and the statuses to expect during KYB.

Know Your Business (KYB) is the verification process every corporate entity must complete before it can hold accounts or issue cards on Reap. You direct the company representative to a hosted verification session; Reap manages the compliance orchestration behind the scenes.

***

## How it works

When you initiate KYB for a company, Reap creates a time-bound verification session. The company representative completes the session by submitting corporate documents, registration details, and ownership structure through Reap's hosted verification flow.

As the representative fills out the form, officers and beneficial owners are identified. These are called related persons. They are added to the company as the form is completed, either by the representative declaring them directly or through Reap's compliance review. Each related person must complete their own KYC before the company can advance to review.

You do not handle any identity documents. All document capture and storage happens inside Reap's verification infrastructure.

***

## Company statuses

A company's `status` reflects where it is in the KYB lifecycle.

| Status       | Meaning                                                                                                                                       |
| ------------ | --------------------------------------------------------------------------------------------------------------------------------------------- |
| `CREATED`    | Company created, verification not yet started                                                                                                 |
| `PENDING`    | Verification in progress. Either the company representative has not submitted the form, or one or more related persons have not completed KYC |
| `IN_REVIEW`  | All verification inputs received. Under Reap compliance review                                                                                |
| `ACTIVE`     | KYB approved. The company can hold accounts and issue cards                                                                                   |
| `REJECTED`   | Verification failed. Contact your account manager                                                                                             |
| `RESTRICTED` | Company is restricted. Existing accounts remain operational but no new accounts or cards can be created                                       |

```mermaid theme={null}
flowchart TD
    CREATED --> PENDING
    PENDING -->|"KYB submitted + all related persons approved"| IN_REVIEW
    IN_REVIEW -->|"Reap approves"| ACTIVE
    IN_REVIEW -->|"Reap rejects"| REJECTED
    ACTIVE -->|"Compliance action"| RESTRICTED
    RESTRICTED -.->|"Resolved"| ACTIVE
    REJECTED -.->|"Re-verification"| PENDING
```

### RESTRICTED vs REJECTED

`RESTRICTED` is not the same as `REJECTED`. A restricted company was previously `ACTIVE` and has been restricted following a periodic re-verification failure or a compliance action. Existing users and accounts under the company continue to work normally. What is blocked is creating new accounts or issuing new cards until the company returns to `ACTIVE`.

`REJECTED` means the initial KYB verification failed and the company was never approved. Contact your account manager in either case.

### From PENDING to IN\_REVIEW

A company advances from `PENDING` to `IN_REVIEW` only when two conditions are met simultaneously:

1. The company representative has submitted the company application form.
2. Every related person on the company has an `APPROVED` KYC status.

In practice, related persons are added to the company as the representative progresses through the verification form. Each one will need to complete their own KYC before the overall gate is met. The transition to `IN_REVIEW` happens automatically as soon as both conditions are satisfied.

***

## Application statuses

The company and related person application share common lifecycle and statues

| Status            | Meaning                                                                                        |
| ----------------- | ---------------------------------------------------------------------------------------------- |
| `INITIATED`       | Session created. The URL is ready for the representative to open                               |
| `IN_PROGRESS`     | Representative has submitted. Review is in progress                                            |
| `APPROVED`        | Verification passed                                                                            |
| `REJECTED`        | Verification failed. You can create a new application to retry                                 |
| `REVIEW_REQUIRED` | Additional manual review is needed                                                             |
| `WORKFLOW_ERROR`  | A technical issue occurred with the session. Create a new application                          |
| `EXPIRED`         | The session URL expired before the representative completed the form. Create a new application |

The `sessionUrl` on an application is only usable while the application is in `INITIATED` status. Once submitted or expired, a new application must be created to get a fresh URL.

***

## Related persons

Related persons are the officers and beneficial owners associated with the company. They are added during the company application process as the representative declares them in the verification form, or when identified through Reap's compliance review. You cannot create or modify related persons via the API.

Each related person has a `status` reflecting their KYC verification progress.

| Status        | Meaning                                                          |
| ------------- | ---------------------------------------------------------------- |
| `NOT_STARTED` | Identified but verification not yet started                      |
| `IN_REVIEW`   | Submitted, under review                                          |
| `APPROVED`    | KYC passed                                                       |
| `REJECTED`    | KYC failed. A new KYC application can be created for this person |

Each related person has verification applications, each with a `sessionUrl` you must send to that individual. Retrieve active applications via [List related person applications](/api-reference/companies/list-related-person-applications).

All related persons must reach `APPROVED` before the company can advance to `IN_REVIEW`.

***

## Webhooks

Reap fires a `COMPANY_STATUS_UPDATED` event whenever a company status changes, including the transitions from `PENDING` to `IN_REVIEW` and from `IN_REVIEW` to `ACTIVE`. See the [COMPANY\_STATUS\_UPDATED](/api-reference/company-status-updated) for the full payload schema.

There are no dedicated webhook events for related person status changes. Poll [List related persons](/api-reference/companies/list-related-persons) to track individual KYC progress, or rely on the company `COMPANY_STATUS_UPDATED` webhook to detect when the overall gate has been passed.

***

## Key principles

* **You do not manage compliance.** Reap handles verification sessions, provider communication, and status updates.
* **Two conditions must be met for IN\_REVIEW.** The company representative must submit the KYB form AND all related persons must be individually approved before Reap begins its review.
* **Related persons are added during the application.** You do not create them. They are added as the representative fills out the verification form or through Reap's compliance review, and each gets their own KYC session.
* **Webhooks are the source of truth.** Listen for `COMPANY_STATUS_UPDATED` to track company status. Do not poll for status changes.
* **ACTIVE is a gate.** A company cannot hold accounts or issue cards until its status is `ACTIVE`.
