Pier allows you to bring-your-own KYC or use our KYC is service.

When Pier KYC is enabled for your account, Pier will submit an OFAC and AML screening for the Borrower. The check is initiated in the background after you create an Application, and is required to be completed for a /applications/approve call to succeed.

KYC failures

If a borrower does not pass Pier’s KYC check, the KYC_NOT_APPROVED error will be returned in the applications/approve call:

1// Application cannot be approved due to KYC incompleteness or failure
3 "error_code": "KYC_NOT_APPROVED",
4 "error_message": "The borrower's KYC status must be approved",
5 "error_status": 400,
6 "error_type": "BORROWER_ERROR"

You can bypass Pier’s KYC by having your KYC process be approved by Pier’s compliance team. In this case, you’ll just need to pass the kyc_completion_date representing the date you completed KYC in the /borrowers/consumer API call.


In sandbox mode, Pier will process a synthetic OFAC and AML screening for the borrower after you create an Application, but the result will always be approval. You can override a borrower’s status at borrower creation time or any time for testing purposes. Please see the /borrowers/consumer creation and /borrowers/consumer update endpoints for more information. If you have set a status for testing, Pier will short-circuit the synthetic screening. In all cases, Pier will send a webhook for the status change if you have an endpoint configured.

The best practice is to configure a webhook and wait for the KYC result before attempting to approve an application. In Sandbox mode, if you wish to test application creation and approval back-to-back without processing a webhook, simply set the borrower’s KYC status and there is no need to wait.