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

# Customers and KYC

> Create customer records and submit identity documents when payment providers or corridors require KYC.

Customers represent the people or businesses that send or receive money through your integration.

Create customers before payment flows so each quote, payin, payout, transfer, and webhook can be reconciled back to your internal records. Use `external_ref` to store your own customer identifier.

## Customer types

| Type         | Use case                                       | Required identity fields               |
| ------------ | ---------------------------------------------- | -------------------------------------- |
| `individual` | A person sending or receiving money.           | `first_name`, `last_name`              |
| `retail`     | A person identified mainly by document number. | `first_name`, `last_name`, `id_number` |
| `business`   | A business customer.                           | `business_name`                        |

## Recommended customer fields

Provider requirements vary by country, operator, and corridor. For payout and transfer flows, collect the fullest profile you can:

* Name or business name
* Phone number in E.164 format
* Email address
* Country and nationality codes
* Date of birth
* Address and city
* Occupation and source of funds

<Note>
  For Yellow Card-backed payouts, make sure the customer profile includes `address_line1`, `city`, `occupation`, and `source_of_funds`.
</Note>

## KYC documents

Submit KYC documents through `POST /customers/{customer_id}/kyc`. Document files must be hosted at public HTTPS URLs that Bumxpress can fetch.

Supported document examples include `national_id` and `passport`. At least one file URL is required per document, such as `front_file_url`, `back_file_url`, or `selfie_file_url`.

## Status tracking

Read KYC state with `GET /customers/{customer_id}/kyc`. Store the returned `kyc_status` and document IDs in your system so support and compliance teams can reconcile provider requirements.
