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

# Whitelist Recipients

> Pre-registered intercompany counterparties for intercompany payouts

## Overview

A Whitelist Recipient is an intercompany bank account that your organization pre-registers and has reviewed by Conduit before any funds move. Only recipients in `registered` status unlock `purpose: intercompany` payouts for the associated customer.

Whitelist recipients are scoped to a customer. Each entry records a bank account (US domestic, or SWIFT identified by BIC plus an IBAN or account number), the legal holder name, the relationship to the customer, and the evidence documents that support the registration.

## Relationships

* **Customer** -- each recipient is scoped to a single customer (`customerId`). You may register multiple recipients per customer.
* **Documents** -- one or more previously uploaded `doc_*` documents are attached as `evidenceDocumentIds` at registration time. These evidence the intercompany relationship (ownership chart, inter-company agreement, bank statement).
* **Payouts** -- a payout with `purpose: intercompany` requires a `registered` recipient matching the destination bank details. The `RECIPIENT_NOT_WHITELISTED` error fires if no such entry exists.

## Lifecycle

| Status           | Meaning                                                                                                                                                   |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `pending_review` | The registration has been submitted and is awaiting compliance review.                                                                                    |
| `registered`     | The recipient has been approved. `purpose: intercompany` payouts may now target this account.                                                             |
| `rejected`       | The registration was declined. The `rejectionReason` field carries the detail. Resubmit with corrected information to start a new review.                 |
| `suspended`      | The entry has been temporarily suspended by Conduit. New payouts to this recipient are blocked until the suspension is lifted.                            |
| `revoked`        | The registration was cancelled, either by your organization (`DELETE /v2/customers/:id/whitelist-recipients/:recipientId`) or by Conduit. Terminal state. |

Review outcomes are delivered via `whitelist_recipient.*` webhooks. Do not poll for status changes -- listen for the webhook.

## Key fields

| Field                 | Type                     | Description                                                                                                                                                                  |
| --------------------- | ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id`                  | `wlr_*`                  | Unique identifier for the recipient.                                                                                                                                         |
| `rail`                | `us` \| `swift`          | Payment rail. `us` identifies by ABA routing number + account number. `swift` identifies by BIC plus an IBAN, or plus an account number for banks in countries without IBAN. |
| `legalName`           | string                   | Legal name of the bank account holder.                                                                                                                                       |
| `relationship`        | `self` \| `group_entity` | Whether this is the customer's own account (`self`) or another entity in the same corporate group (`group_entity`).                                                          |
| `routingNumber`       | string \| null           | ABA routing number. Null for `swift` recipients.                                                                                                                             |
| `accountNumber`       | string \| null           | Bank account number (`us`, or `swift` recipients registered by BIC + account number). Null for IBAN-registered recipients.                                                   |
| `bic`                 | string \| null           | BIC of the recipient bank, for `swift` recipients registered by BIC + account number. Null otherwise.                                                                        |
| `iban`                | string \| null           | IBAN, for `swift` recipients in IBAN countries. Null for `us` and BIC-registered recipients.                                                                                 |
| `evidenceDocumentIds` | `doc_*[]`                | Documents uploaded to support the registration.                                                                                                                              |
| `status`              | see above                | Current review status.                                                                                                                                                       |
| `rejectionReason`     | string \| null           | Present when `status` is `rejected`.                                                                                                                                         |

## API surface

* `POST /v2/customers/:customerId/whitelist-recipients` -- register a new recipient (requires `Idempotency-Key`)
* `GET /v2/customers/:customerId/whitelist-recipients` -- list recipients, optionally filtered by `?status=`
* `GET /v2/customers/:customerId/whitelist-recipients/:id` -- get a single recipient
* `DELETE /v2/customers/:customerId/whitelist-recipients/:id` -- revoke a recipient (terminal)

In sandbox, two simulate endpoints bypass the review queue:

* `POST /v2/sandbox/whitelist-recipients/:id/simulate-approve` -- move `pending_review` → `registered`
* `POST /v2/sandbox/whitelist-recipients/:id/simulate-reject` -- move `pending_review` → `rejected`
