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

# KYC (Know Your Customer)

> KYC/KYB (Know Your Customer / Know Your Business) plays a critical role in ensuring regulatory compliance, designed to help financial institutions and programs verify the identities of customers and businesses.
Treasury Prime supports integration with a wide range of KYC/KYB vendors, enabling Programs to connect their preferred, bank-approved provider into the account opening process.

## **Bring Your Own (BYO) KYC**

Programs can seamlessly integrate their bank-approved KYC vendor with Treasury Prime's platform using the [/kyc](https://docs.treasuryprime.com/reference/kyc) endpoint to associate KYC results with a person or business application. Applications remain in a `pending` status until the Program provides a definitive KYC outcome (`ok`/`error`/`pending`). The KYC outcome decisions account opening automation. For multi-person applications, Treasury Prime leverages a conservative approach - the least favorable individual KYC outcome determines the final application result. For example, if any individual yields a KYC result of `error`, the corresponding account will not be opened.

## BYO KYC Integration Process - Step by Step Guide

1. **Create Person Application(s)**: Use the [/apply/person\_application](https://docs.treasuryprime.com/reference/person-application) endpoint to register individual applicants.
   * Note: `physical_address` is mandatory for all BYO KYC person applications.

2. **Create Business Application (if applicable)**: For business accounts, use the [/apply/business\_application](https://docs.treasuryprime.com/reference/business-application) endpoint.
   * Note: `tin` (Tax Identification Number) and `incorporation_state` fields are required for BYO KYB business applications.

3. **Perform KYC/KYB Verification**: Process identity verification through your third-party KYC provider.

4. **Submit KYC/KYB Results**: Transmit verification results to Treasury Prime via the [/apply/kyc](https://docs.treasuryprime.com/reference/post_apply_kyc) endpoint.

   * **Note:** The endpoint documentation displays provider-specific field names (such as `alloy`, `middesk`, etc.) for Treasury Prime's direct integrations. As a BYO KYC user, focus on the generic `provider`, `provider_full`, and `provider_result` fields instead.
   * In your request, associate the person/business application with the `object_id` and specify the `object_type` (`person` or `business`).
   * For multi-person applications, such as multiple people tied to a business account, you’ll need to create separate requests for each KYC result per person application.
   * Set the `provider_result` field to one of these values:
     * `ok` - Verification passed, account will open automatically
     * `error` - Verification failed, account will not open
     * `pending` - Application requires manual review
   * While optional, we strongly recommend including both `provider` and `provider_full` fields to build transparency and trust with banking partners. Without these fields, banking partners will only see the final result without supporting context.

   **Example Request:**

   ```json theme={null}
   {
     "kyc_product_id": "akpt_1209bga8she7",
     "object_id": "apsn_01d5w6yaa6vu",
     "object_type": "person",
     "provider": "YourKYCProvider",
     "provider_full": {
       "session_id": "abc123",
       "risk_score": 85,
       "tags": ["verified", "low_risk"]
     },
     "provider_result": {
       "outcome": "ok"
     }
   }
   ```

   **Example Response:**

   ```json theme={null}
   {
     "apply_true": null,
     "created_at": "2019-12-11T20:34:11Z",
     "id": "akyc_11f7av5311234",
     "kyc_product_id": "akpt_1209bga8she7",
     "object_id": "apsn_01d5w6yaa6vu",
     "object_type": "person",
     "provider": "YourKYCProvider",
     "provider_full": {
       "session_id": "abc123",
       "risk_score": 85,
       "tags": ["verified", "low_risk"]
     },
     "provider_result": {
       "outcome": "ok"
     },
     "updated_at": "2019-12-11T20:34:11Z"
   }
   ```

   Note: the provider-specific fields (`alloy`, `alloy_full`, `middesk`, `middesk_full`) are set to `null` for BYO KYC submissions, while your data is stored in the generic `provider`, `provider_full`, and `provider_result` fields.

5. **Create Account Application**: Submit the account application using the [/apply/account\_application](https://docs.treasuryprime.com/reference/account-application) endpoint.
   * Use the BYO KYC-specific `account_product_id` provided by Treasury Prime for this request.
