SBA PPP Loan Origination
Overview
We are excited to help you learn the new Paycheck Protection Origination platform in support of the Cares ACT (2020) and Consolidated Appropriations Act of 2021 (2021 CAA). The SBA PPP Origination platform is designed to support a simplified process - allowing lenders to submit PPP Loan applications. This site provides a step by step guide covering various API’s to submit, withdraw, and get details on the Loan applications related to SBA PPP.
You will note unique and discrete data elements that needs to be populated when submitting the Loan applications. Refer to the full SBA Procedural notice for details around these data elements.
**Note: Github and the technical documents made available are to support lenders and their software providers. This guide is not intended to provide policy, procedure, or SBA direction. **
Before you begin, please note the following considerations:
- These APIs allow you to submit PPP Loan application to the SBA. This application can be issued via these APIs, or via the Portal available to all Lenders that conducts PPP business. Please take special note that once Loan application is submitted, SBA will not provide SBA number immediately. SBA will fully review the application before making a decision. When approved, SBA number will be assigned and will be made available on this platform.
These APIs enforce validation routines on all submitted PPP Loan application including (but not limited to the following):
- The Lender (or Fintech using a Bank API Key) submitting Loan application must match the current lender within the SBA systems.
- Loan amount calculations must also align to provided values – we do mathematical validation on your input.
- Fields required and calculations will vary from first time PPP Loan borrower to second draw PPP loan borrower.Please refer to Form 2483 and SBA guidelines.
API Prerequisite
Authorization: All the API’s require Authorization parameters that are needed to be passed in each of the API request. Details below:
Sandbox
For clients to authenticate, the token key should be included in the Authorization HTTP header. The key should be prefixed by the string literal ‘Token’, with white space separating the two strings. For example:
Authorization: Token 9944b09199c62bcf9418ad846dd0e4bbdfc6ee4b
You will get this token under Sandbox API key (Box folder), look out for email from US SBA Forgiveness (noreply@box.com) .
A Vendor Key is also required. A Vendor Key needs to be passed in the HTTP header as shown with an example.
Vendor-Key: b4784996-c592-4794-b9fe-3c51e6acd49d
You will get this key under Vendor key (Box folder), look out for email from US SBA Forgiveness (noreply@box.com) .
Production
For clients to authenticate, the token key should be included in the Authorization HTTP header. The key should be prefixed by the string literal ‘Token’, with white space separating the two strings. For example:
Authorization: Token 9944b09199c62bcf9418ad846dd0e4bbdfc6ee4b
Your Bank AO can provide token to you.
A Vendor Key is also required. A vendor key will only be provided after client succesfully completes their development by using SBA API’s in sandbox. Vendor key will be available in Box folder after sandbox certification. Vendor Key will be passed in the HTTP header as shown below with an example.
Vendor-Key: b4784996-c592-4794-b9fe-3c51e6acd49d
Important: If you used API For Forgiveness, your existing API and Vendor keys can be used for Loan Origination as well. All API end points must match API dictionary format, for instance having “/” at the end of the URL request for POST & DELETE API requests.
Environment
All the PPP Loan Origination API’s are exposed in the Sandbox and Production environment
Environment | URL |
---|---|
Sandbox | https://sandbox.forgiveness.sba.gov/ |
Production | https://forgiveness.sba.gov/ |
SBA 2483 Document to API Field Mappings
Please review 2483 form showing mapping of elements on the Loan application form to API attributes.
Use Cases
Use Case 1: Submission of PPP Loan Request for SBA decisioning
Use Case 2: Check Status of PPP Loan request submitted to SBA
Use Case 3: Withdraw PPP Loan Application submitted to SBA
Use Case 4: First draw vs Second draw - Edit checks
Use Case 5: Process for first draw holds removal
Use Case 6: Lender attestation for Not Approved Loans
API Dictionary here
FAQ here
Design Consideration here
Example code
Sample C#, Java and Python code can be found at our github repositories here
Developer Support
You can reach out to developer support @ developer@ussbaforgiveness.com