Forgiveness Portal APIs - API Dictionary

Table of Contents

This document gives an overview for the API’s that are exposed by the forgiveness portal.

Pre-requisites:

Authorization: All the API’s require Authorization parameters that are needed to be passed in each of the API request. Please refer to the API Pre-requisites section on Home page.

Important: All API end points must match API dictionary format, for instance having “/” at the end of the URL request for POST, PUT & DELETE API requests.

Environment: All the forgiveness API’s are exposed in the Sandbox and Production environment

Environment URL
Sandbox https://sandbox.forgiveness.sba.gov/
Production https://forgiveness.sba.gov/

1. Get Document Types

The API is used to get the list of available document types in the SBA Forgiveness portal. These document types are needed when sharing documents with SBA on behalf of borrowers.

Request type: HTTPS

API Endpoint:

GET /api/ppp_loan_document_types/

Request (Sample)


/api/ppp_loan_document_types/

Request Parameters

Not Applicable (No request body)

Request Path Parameters

Not Applicable

Request Query Parameters

Not Applicable

Request Form Data Parameters

Not Applicable

Response (Sample)


{
    "count": 1,
    "next": null,
    "previous": null,
    "results": [
        {
            "id": 1,
            "name": "SBA Form 2483",
            "description": "SBA Form 2483"
        }
    ]
}

Parameters

HTTP Response Code: 200

Parameter Name Data Type Sample Value Description
count Number 1 The total count of the document types
next String null The URI of the next set of document types to be fetched
previous String null The URI of the previous set of document types to be fetched
results JSON Array    
id Number 1 The id of the document type as defined in SBA System
name String SBA Form 2483 The name of the document
description String SBA Form 2483 The description of the document

HTTP Response Code: 403

Parameter Name Data Type Sample Value Description
detail String Authentication credentials were not provided. The detail of the 403 error response

HTTP Response Code: 429

API Call Rate Limits
To maintain reliability and stability within our environments, Forgiveness portal operates with certain API call efficiency guidelines. To ensure effective load balance we continually monitor the API calls to our backend systems and we may throttle requests from developers that are putting unnecessary burden on the system. If the API call rate limit is reached, client will receive an exception. The exception message states: “Request was throttled. Expected available in 1 second”.

Parameter Name Data Type Sample Value Description
detail String Request was throttled. Expected available in 1 second The detail of the 429 error response
status_code Number 429 The HTTP status code

Design Consideration for Client Application

Document list will not change frequently. For efficiency, Client applications may choose to call this API once a day and store results in their cache/storage.

2. Create Forgiveness Request

This API is used to create a new forgiveness request (decision) for an SBA PPP loan.

Request type: HTTPS

API Endpoint:

POST /api/ppp_loan_forgiveness_requests/

Request (Sample Body 3508)


{
    "etran_loan": {
        "bank_notional_amount": 900000.00,
        "sba_number": "9999114733",
        "loan_number": "7777777",
        "entity_name": "Abc Inc",
        "ein": "997114733",
        "funding_date": "2020-07-06",
        "forgive_payroll": 1000.00,
        "forgive_rent": 1000.00,
        "forgive_utilities": 1000.00,
        "forgive_mortgage": 1000.00,
	"forgive_covered_operations_expenditures": 1000.00, 
	"forgive_covered_property_damage_costs": 1000.00, 
	"forgive_covered_supplier_costs": 1000.00, 
	"forgive_covered_protection_expenditures": 1000.00,
        "naics_code" : 722513, (available in prod - 03/05)
	"ppp_loan_draw" : 1, (available in prod - 03/05)
        "address1": "5050 Ritter Road – Suite B",
        "address2": "Mechanicsburg, PA",
        "dba_name": "Abc Inc",
        "phone_number": "6102342123",
        "forgive_fte_at_loan_application": 10,
        "demographics": [
            {
                "name": "Jason",
                "position": "self-employed individual",
                "veteran_status": "1",
                "gender": "M",
                "ethnicity": "H",
                "races": [
                    {
                        "race": "1"
                    }
                ]
            }
        ],
        "forgive_line_6_3508_or_line_5_3508ez": 3999.00,
        "forgive_modified_total": 3999.00,
        "forgive_payroll_cost_60_percent_requirement": 1666.66,
        "forgive_amount": 1666.66,
        "forgive_fte_at_forgiveness_application": 10,
        "forgive_schedule_a_line_1": 1.00,
        "forgive_schedule_a_line_2": 1.00,
        "forgive_schedule_a_line_3_checkbox": true,
        "forgive_schedule_a_line_3": 1.00,
        "forgive_schedule_a_line_4": 1.00,
        "forgive_schedule_a_line_5": 1.00,
        "forgive_schedule_a_line_6": 1.00,
        "forgive_schedule_a_line_7": 1.00,
        "forgive_schedule_a_line_8": 1.00,
        "forgive_schedule_a_line_9": 1.00,
        "forgive_schedule_a_line_10": 6.00,
        "forgive_schedule_a_line_10_checkbox": true,
        "forgive_schedule_a_line_11": 10.00,
        "forgive_schedule_a_line_12": 10.00,
        "forgive_schedule_a_line_13": 1.00,
        "forgive_covered_period_from": "2020-07-06",
        "forgive_covered_period_to": "2020-09-06",
        "primary_email": "user@example.com",
        "primary_name": "Jason",
        "ez_form": false,
        "no_reduction_in_employees": true,
        "no_reduction_in_employees_and_covid_impact": true,
        "forgive_lender_confirmation": true,
        "forgive_lender_decision": 1,
	"loan_increase": 1000.00, 
	"loan_increase_date": "2020-07-09" 
    }
}

Request (Sample Body 3508 EZ)


{
    "etran_loan": {
        "bank_notional_amount": 900000.00,
        "sba_number": "9999114733",
        "loan_number": "7777777",
        "entity_name": "Abc Inc",
        "ein": "997114733",
        "funding_date": "2020-07-06",
        "forgive_payroll": 1000.00,
        "forgive_rent": 1000.00,
        "forgive_utilities": 1000.00,
        "forgive_mortgage": 1000.00,
	"forgive_covered_operations_expenditures": 1000.00, 
	"forgive_covered_property_damage_costs": 1000.00, 
	"forgive_covered_supplier_costs": 1000.00, 
	"forgive_covered_protection_expenditures": 1000.00, 
        "naics_code" : 722513, (available in prod - 03/05)
	"ppp_loan_draw" : 1, (available in prod - 03/05)
        "address1": "5050 Ritter Road – Suite B",
        "address2": "Mechanicsburg, PA",
        "dba_name": "Abc Inc",
        "phone_number": "6102342123",
        "forgive_fte_at_loan_application": 10,
        "demographics": [
            {
                "name": "Jason",
                "position": "self-employed individual",
                "veteran_status": "1",
                "gender": "M",
                "ethnicity": "H",
                "races": [
                    {
                        "race": "1"
                    }
                ]
            }
        ],
        "forgive_line_6_3508_or_line_5_3508ez": 4000.00,
        "forgive_payroll_cost_60_percent_requirement": 1666.66,
        "forgive_amount": 1666.66,
        "forgive_fte_at_forgiveness_application": 10,
        "forgive_covered_period_from": "2020-07-06",
        "forgive_covered_period_to": "2020-09-06",
        "primary_email": "user@example.com",
        "primary_name": "Jason",
        "ez_form": true,
        "forgive_lender_confirmation": true,
        "forgive_lender_decision": 1,
	"loan_increase": 1000.00, 
	"loan_increase_date": "2020-07-09" 
    }
}

Request (Sample Body 3508 S)


{
    "etran_loan": {
        "bank_notional_amount": 900000.00,
        "sba_number": "9999114733",
        "loan_number": "7777777",
        "entity_name": "Abc Inc",
        "ein": "997114733",
        "funding_date": "2020-07-06", 
	"forgive_payroll": 1000.00, 
   	"naics_code" : 722513, (available in prod - 03/05)
	"ppp_loan_draw" : 1, (available in prod - 03/05)
        "address1": "5050 Ritter Road – Suite B",
        "address2": "Mechanicsburg, PA",
        "dba_name": "Abc Inc",
        "phone_number": "6102342123",
        "forgive_fte_at_loan_application": 10,
        "demographics": [
            {
                "name": "Jason",
                "position": "self-employed individual",
                "veteran_status": "1",
                "gender": "M",
                "ethnicity": "H",
                "races": [
                    {
                        "race": "1"
                    }
                ]
            }
        ],
        "forgive_amount": 1666.66,
        "forgive_fte_at_forgiveness_application": 10,
	"forgive_covered_period_from": "2020-07-06", 
        "forgive_covered_period_to": "2020-09-06", 
	"primary_email": "user@example.com",
        "primary_name": "Jason",
        "ez_form": false,
        "forgive_lender_confirmation": true,
        "forgive_lender_decision": 1,
        "s_form": true,
	"loan_increase": 1000.00, 
	"loan_increase_date": "2020-12-29" 
    }
}

Request Parameters

Parameter Name Data Type Mandatory/Optional Sample Value Description
etran_loan JSON Object Mandatory    
bank_notional_amount Number Mandatory 900000.00 The PPP loan amount
sba_number String Mandatory 9999114733 The SBA loan number. Only Numbers are allowed.
loan_number String Mandatory 7777777 The Lender’s loan number.
entity_name String Mandatory Abc Inc The entity name of the borrower
ein String Mandatory 997114733 The SSN or Business TIN of the borrower. Only Numbers are allowed.
funding_date String Mandatory 2020-07-06 PPP loan Disbursement date in YYYY-MM-DD
forgive_eidl_amount Number Optional 100.00 The EIDL amount. Can be provided without providing the EIDL application number. (Not-applicable in prod - 03/05)
forgive_eidl_application_number Number Optional 123456789 The Application number of the EIDL, decimals values are not allowed. This number is validated against SBA system of records. (Not-applicable in prod - 03/05)
forgive_payroll Number Mandatory
(for 3508, 3508EZ (& 3508S from 03/05 in prod, should be >= 60% of Forgiveness amount))
1000.00 Payroll Cost. Should be same as Schedule A Line 10 (forgive_schedule_a_line_10)
forgive_rent Number Mandatory
(for 3508, 3508EZ)
1000.00 Business Rent or Lease Payments
forgive_utilities Number Mandatory
(for 3508, 3508EZ)
1000.00 Business Utility Payments
forgive_mortgage Number Mandatory
(for 3508, 3508EZ)
1000.00 Business Mortgage Interest Payments
address1 String Mandatory 5050 Ritter Road – Suite B Business Address Line 1
address2 String Mandatory Mechanicsburg, PA Business Address Line 2
dba_name String Optional Abc Inc The DBA Name or Trade Name of the borrower
phone_number String Mandatory 6102342123 The Business Phone Number of the borrower
forgive_fte_at_loan_application Number Mandatory 10 The full time employees at the time of loan application, decimal values are not allowed
demographics JSON Array Optional   If demographics is selected, then use the below demographic fields as applicable
name String Optional Jason The Principal name
position String Optional self-employed individual Identify the Principal’s position; for example, self-employed individual; independent contractor; sole proprietor; general partner; owner; officer; director; member; or key employee.
veteran_status String Optional 1 The veteran status of the borr ower. Possible Values: [ 1, 2, 3, 4, X ]
1=Non-Veteran; 2=Veteran; 3=Service-Disabled Veteran; 4=Spouse of Veteran; X=Not Disclosed
gender String Optional M The gender of the borrower. Possible Values: [M, F, X ]
M=Male; F=Female; X=Not Disclosed
ethnicity String Optional H The ethnicity of the borrower. Possible Values: [H, N, X ]
H=Hispanic or Latino; N=Not Hispanic or Latino; X=Not Disclosed
races JSON Array Mandatory    
race String Optional 1 The race of the borrower. Possible Values: [1, 2, 3, 4, 5, X ]
1=American Indian or Alaska Native; 2=Asian; 3=Black or African-American; 4=Native Hawaiian or Pacific Islander; 5=White; X=Not Disclosed
forgive_line_6_3508_or_line_5_3508ez Number Mandatory
(for 3508, 3508EZ)
3999.00 Line 6 (Line 10 of new form) of 3508 or line 5 (Line 9 of new form) of 3508 EZ, starting 03/05 in prod they will reflect new lines
forgive_modified_total Number Mandatory
(for 3508)
3999.00 Modified Total - line 8
forgive_payroll_cost_60_percent_requirement Number Mandatory
(for 3508, 3508EZ)
1666.66 Payroll cost 60% requirement
forgive_amount Number Mandatory 1666.66 Forgiveness Amount. This field must be 0 if the lender decision is Denied. API validation also expects other amount related fields used in determining forgive amount, as per 3508/3508EZ, to be 0.For approved in full or partial approved Lender decision,the forgiveness amount should be greater than zero and cannot be greater than loan amount
forgive_fte_at_forgiveness_application Number Mandatory 10 Full time employees at the time of forgiveness application, decimal values are not allowed
forgive_schedule_a_line_1 Number Mandatory
(for 3508)
1.00 Cash Compensation (Box 1) from PPP Schedule A Worksheet, Table 1
forgive_schedule_a_line_2 Number Mandatory
(for 3508)
1.00 Average FTE (Box 2) from PPP Schedule A Worksheet, Table 1
forgive_schedule_a_line_3_checkbox Boolean Mandatory
(for 3508)
true Salary/Hourly Wage Reduction (Box 3) from PPP Schedule A Worksheet, Table 1: If the average annual salary or hourly wage for each employee listed on the PPP Schedule A Worksheet, Table 1 during the Covered Period or the Alternative Payroll Covered Period was at least 75% of such employee’s average annual salary or hourly wage between January 1, 2020 and March 31, 2020, then set to true and put the value as 0 for field forgive_schedule_a_line_3
forgive_schedule_a_line_3 Number Mandatory
(for 3508)
1.00 Salary/Hourly Wage Reduction (Box 3) from PPP Schedule A Worksheet, Table 1. Should have value of 0, in case check box (forgive_schedule_a_line_3_checkbox) is selected
forgive_schedule_a_line_4 Number Mandatory
(for 3508)
1.00 Cash Compensation (Box 4) from PPP Schedule A Worksheet, Table 2
forgive_schedule_a_line_5 Number Mandatory
(for 3508)
1.00 Average FTE (Box 5) from PPP Schedule A Worksheet, Table 2
forgive_schedule_a_line_6 Number Mandatory
(for 3508)
1.00 Total amount paid or incurred by Borrower for employer contributions for employee health insurance
forgive_schedule_a_line_7 Number Mandatory
(for 3508)
1.00 Total amount paid or incurred by Borrower for employer contributions to employee retirement plans
forgive_schedule_a_line_8 Number Mandatory
(for 3508)
1.00 Total amount paid or incurred by Borrower for employer state and local taxes assessed on employee compensation
forgive_schedule_a_line_9 Number Mandatory
(for 3508)
1.00 Total amount paid to owner-employees/self-employed individual/general partners
forgive_schedule_a_line_10 Number Mandatory
(for 3508)
6.00 Total Payroll Costs (add lines 1, 4, 6, 7, 8, and 9)
forgive_schedule_a_line_10_checkbox Boolean Mandatory
(for 3508)
true If you satisfy FTE Reduction Safe Harbor 2 (see PPP Schedule A Worksheet), set to true
forgive_schedule_a_line_11 Number Optional
(for 3508)
10.00 Average FTE during the Borrower’s chosen reference period. If a safe harbor is met then skip this field
forgive_schedule_a_line_12 Number Optional
(for 3508)
10.00 Total Average FTE. Value of this field should be equal to Average FTE Box 2 (forgive_schedule_a_line_2) + Average FTE Box 5 (forgive_schedule_a_line_5). If a safe harbor is met then skip this field
forgive_schedule_a_line_13 Number Mandatory
(for 3508)
1.00 FTE Reduction Quotient (divide line 12 by line 11) or enter 1.0 if any of the above criteria are met.
This field supports upto 9 decimals.
forgive_covered_period_from String Mandatory
(for 3508, 3508EZ & (3508S - in prod 03/05)
2020-07-06 The covered period start date in YYYY-MM-DD
forgive_covered_period_to String Mandatory
(for 3508, 3508EZ & (3508S - in prod 03/05) )
2020-09-06 The covered period end date in YYYY-MM-DD. Please note - Requirement for Covered period for 2020 PPP loans to end on or before 12/31/2020 has been removed
forgive_alternate_covered_period_from String Optional 2020-07-06 The alternate covered period start date in YYYY-MM-DD. (Not-applicable in prod - 03/05)
forgive_alternate_covered_period_to String Optional 2020-09-06 The alternate covered period end date in YYYY-MM-DD. (Not-applicable in prod - 03/05)
forgive_payroll_schedule String Mandatory
(for 3508, 3508EZ)
Weekly The payroll schedule. Possible Values: “Weekly”,”Biweekly”,”Twice Per Month”,”Monthly”,”Other”. (Other is free form to match 3508 options) (Not-applicable in prod - 03/05)
primary_email String Mandatory user@example.com The primary contact persons email
primary_name String Mandatory Jason The primary contact for the loan
ez_form Boolean Mandatory true Indicates whether the application submitted via EZ form
no_reduction_in_employees Boolean Mandatory
(for 3508)
true No reduction in employees or average paid hours: If you have not reduced the number of employees or the average paid hours of your employees between January 1, 2020 and the end of the Covered Period, set to true
no_reduction_in_employees_and_
covid_impact
Boolean Mandatory
(for 3508)
true FTE Reduction Safe Harbor 1: If you were unable to operate between February 15, 2020, and the end of the Covered Period at the same level of business activity as before February 15, 2020 due to compliance with requirements established or guidance issued between March 1, 2020 and December 31, 2020, by the Secretary of Health and Human Services, the Director of the Centers for Disease Control and Prevention, or the Occupational Safety and Health Administration related to the maintenance of standards for sanitation, social distancing, or any other worker or customer safety requirement related to COVID-19, set to true
forgive_lender_confirmation Boolean Mandatory true Confirmation from lender that they reviewed borrowers forgiveness application before submitting to SBA. Only ‘true’ value submits the request successfully
forgive_lender_decision Number Mandatory 1 Final lender decision regarding forgiveness of this PPP loan.
Valid Values (API needs to pass integer value associated with the decision):
APPROVED_IN_FULL = 0
APPROVED_IN_PART = 1
DENIED = 2 (If a “Denied” decision is issued to the SBA, Lender must populate API with zero values where appropriate.)
s_form Boolean Mandatory
(for 3508S)
false Indicates whether the application submitted via 3508S form
naics_code Number Mandatory 722513 Borrower/Business - Valid 6 digit NAICS code (In prod - 03/05)
ppp_loan_draw Number Mandatory 1 Indicates whether it’s a first draw or second draw forgiveness , 1 for first draw & 2 for second draw (In prod - 03/05).Please note - For Second Draw PPP Loans in excess of $150,000, the borrower must submit its loan forgiveness application for the First Draw PPP Loan before or simultaneously with the loan forgiveness application for the Second Draw PPP Loan, even if the calculated amount of forgiveness on the First Draw PPP Loan is zero
forgive_covered_operations_expenditures Number Mandatory
(for 3508, 3508EZ)
1000.00 Covered Operations expenditure (In prod - 03/05)
forgive_covered_property_damage_costs Number Mandatory
(for 3508, 3508EZ)
1000.00 covered property damage cost (In prod - 03/05)
forgive_covered_supplier_costs Number Mandatory
(for 3508, 3508EZ)
1000.00 covered supplier cost (In prod - 03/05)
forgive_covered_protection_expenditures Number Mandatory
(for 3508, 3508EZ)
1000.00 covered worker protection expenditure (In prod - 03/05)
loan_increase Number Optional 1000.00 Any Loan increase which lender did on the Loan after initial Loan approval. This amount is already included in PPP Loan amount. If loan_increase is provided, loan_increase_date should also be provided and vice versa
loan_increase_date String Optional 2020-12-29 Date on which increased Loan was disbursed by Lender. Lender will be paid interest on Loan increased amount from this date

Request Path Parameters

Not Applicable

Request Query Parameters

Not Applicable

Request Form Data Parameters

Not Applicable

Response (Sample)


{
    "slug": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "etran_loan": { 
        "slug": "df481fbb-c41f-46f3-b96f-94374d747a8d",
        "bank_notional_amount": 900000.00,
        "sba_number": "9999114733",
        "loan_number": "7777777",
        "entity_name": "Abc Inc",
        "ein": "997114733",
        "funding_date": "2020-07-06",
        "forgive_eidl_amount": 100.00,
        "forgive_eidl_application_number": 123456789,
        "forgive_payroll": 1000.00,
        "forgive_rent": 1000.00,
        "forgive_utilities": 1000.00,
        "forgive_mortgage": 1000.00,
        "address1": "5050 Ritter Road – Suite B",
        "address2": "Mechanicsburg, PA",
        "dba_name": "Abc Inc",
        "phone_number": "6102342123",
        "forgive_fte_at_loan_application": 10,
        "demographics": [
            {
                "name": "Jason",
                "position": "self-employed individual",
                "veteran_status": "1",
                "gender": "M",
                "ethnicity": "H",
                "races": [
                    {
                        "race": "1"
                    }
                ]
            }
        ],
        "status": "Pending Validation",
        "forgive_line_6_3508_or_line_5_3508ez": 3999.00,
        "forgive_modified_total": 1.00,
        "forgive_payroll_cost_60_percent_requirement": 1666.66,
        "forgive_amount": 1666.66,
        "forgive_fte_at_forgiveness_application": 10,
        "forgive_schedule_a_line_1": 1.00,
        "forgive_schedule_a_line_2": 1.00,
        "forgive_schedule_a_line_3_checkbox": true,
        "forgive_schedule_a_line_3": 1.00,
        "forgive_schedule_a_line_4": 1.00,
        "forgive_schedule_a_line_5": 1.00,
        "forgive_schedule_a_line_6": 1.00,
        "forgive_schedule_a_line_7": 1.00,
        "forgive_schedule_a_line_8": 1.00,
        "forgive_schedule_a_line_9": 1.00,
        "forgive_schedule_a_line_10": 6.00,
        "forgive_schedule_a_line_10_checkbox": true,
        "forgive_schedule_a_line_11": 10.00,
        "forgive_schedule_a_line_12": 10.00,
        "forgive_schedule_a_line_13": 1.00,
        "forgive_covered_period_from": "2020-07-06",
        "forgive_covered_period_to": "2020-09-06",
        "forgive_alternate_covered_period_from": "2020-07-06",
        "forgive_alternate_covered_period_to": "2020-09-06",
        "forgive_payroll_schedule": "Weekly",
        "primary_email": "user@example.com",
        "primary_name": "Jason",
        "ez_form": true,
        "no_reduction_in_employees": true,
        "no_reduction_in_employees_and_covid_impact": true,
        "forgive_lender_confirmation": true,
        "forgive_lender_decision": 1,
        "sba_decision": "",
        "approval_date": "2020-08-20",
        "final_forgive_amount": 1000.00,
        "calculated_interest": 10.00,
        "final_forgive_payment": 910.00,
        "final_forgive_payment_date": "2020-08-25",
        "final_forgive_payment_batch": "PPY08091",
        "final_forgive_amount_with_interest": 910.00,
        "s_form": false
	"naics_code": null,
        "ppp_loan_draw": 1,
        "forgive_covered_operations_expenditures": null,
        "forgive_covered_property_damage_costs": null,
        "forgive_covered_supplier_costs": null,
        "forgive_covered_protection_expenditures": null,
	"loan_increase": 1000.00, 
	"loan_increase_date": "2020-12-29" 
    }
}

Response Parameters

HTTP Response Code: 201

Parameter Name Data Type Sample Value Description
slug UUID 3fa85f64-5717-4562-b3fc-2c963f66afa6 The UUID of the Forgiveness request
etran_loan JSON Object    
slug UUID df481fbb-c41f-46f3-b96f-94374d747a8d The UUID of the etran loan request
bank_notional_amount Number 900000.00 The PPP loan amount
sba_number String 9999114733 The SBA loan number
loan_number String 7777777 The Lender’s loan number
entity_name String Abc Inc The entity name of the borrower
ein String 997114733 The SSN or Business TIN of the borrower
funding_date String 2020-07-06 PPP loan Disbursement date in YYYY-MM-DD
forgive_eidl_amount Number 100.00 The EIDL amount
forgive_eidl_application_number Number 123456789 The Application number of the EIDL, decimals values are not allowed
forgive_payroll Number 1000.00 Payroll Cost
forgive_rent Number 1000.00 Business Rent or Lease Payments
forgive_utilities Number 1000.00 Business Utility Payments
forgive_mortgage Number 1000.00 Business Mortgage Interest Payments
address1 String 5050 Ritter Road – Suite B Business Address Line 1
address2 String Mechanicsburg, PA Business Address Line 2
dba_name String Abc Inc The DBA Name or Trade Name of the borrower
phone_number String 6102342123 The Business Phone Number of the borrower
forgive_fte_at_loan_application Number 10 The full time employees at the time of loan application, decimal values are not allowed
demographics JSON Array    
name String Jason The Principal name
position String self-employed individual Identify the Principal’s position; for example, self-employed individual; independent contractor; sole proprietor; general partner; owner; officer; director; member; or key employee.
veteran_status String 1 The veteran status of the borrower. Possible Values: [ 1, 2, 3, 4, X ]
1=Non-Veteran; 2=Veteran; 3=Service-Disabled Veteran; 4=Spouse of Veteran; X=Not Disclosed
gender String M The gender of the borrower. Possible Values: [M, F, X ]
M=Male; F=Female; X=Not Disclosed
ethnicity String H The ethnicity of the borrower. Possible Values: [H, N, X ]
H=Hispanic or Latino; N=Not Hispanic or Latino; X=Not Disclosed
races JSON Array    
race String 1 The race of the borrower. Possible Values: [1, 2, 3, 4, 5, X ]
1=American Indian or Alaska Native; 2=Asian; 3=Black or African-American; 4=Native Hawaiian or Pacific Islander; 5=White; X=Not Disclosed
status String Pending Validation This value indicates the overall phase of the Forgiveness decision – up to and including the Payment status (including: Pending Validation, Under Review, Fully Approved, Not Approved, Partially Approved, Lender Additional Info Needed, Payment Sent, Payment Confirmed, Payment Failed)
forgive_line_6_3508_or_line_5_3508ez Number 3999.00 Line 6 of 3508 or line 5 of 3508 EZ
forgive_modified_total Number 3999.00 Forgiveness Amount calculation line 8
forgive_payroll_cost_60_percent_requirement Number 1666.66 Payroll cost 60% requirement
forgive_amount Number 1666.66 Forgiveness Amount
forgive_fte_at_forgiveness_application Number 10 Full time employees at the time of forgiveness application, decimal values are not allowed
forgive_schedule_a_line_1 Number 1.00 Cash Compensation (Box 1) from PPP Schedule A Worksheet, Table 1
forgive_schedule_a_line_2 Number 1.00 Average FTE (Box 2) from PPP Schedule A Worksheet, Table 1
forgive_schedule_a_line_3_checkbox Boolean true Salary/Hourly Wage Reduction (Box 3) from PPP Schedule A Worksheet, Table 1: If the average annual salary or hourly wage for each employee listed on the PPP Schedule A Worksheet, Table 1 during the Covered Period or the Alternative Payroll Covered Period was at least 75% of such employee’s average annual salary or hourly wage between January 1, 2020 and March 31, 2020, then set to true and put the value as 0 for field forgive_schedule_a_line_3
forgive_schedule_a_line_3 Number 1.00 Salary/Hourly Wage Reduction (Box 3) from PPP Schedule A Worksheet, Table 1
forgive_schedule_a_line_4 Number 1.00 Cash Compensation (Box 4) from PPP Schedule A Worksheet, Table 2
forgive_schedule_a_line_5 Number 1.00 Average FTE (Box 5) from PPP Schedule A Worksheet, Table 2
forgive_schedule_a_line_6 Number 1.00 Total amount paid or incurred by Borrower for employer contributions for employee health insurance
forgive_schedule_a_line_7 Number 1.00 Total amount paid or incurred by Borrower for employer contributions to employee retirement plans
forgive_schedule_a_line_8 Number 1.00 Total amount paid or incurred by Borrower for employer state and local taxes assessed on employee compensation
forgive_schedule_a_line_9 Number 1.00 Total amount paid to owner-employees/self-employed individual/general partners
forgive_schedule_a_line_10 Number 6.00 Total Payroll Costs (add lines 1, 4, 6, 7, 8, and 9)
forgive_schedule_a_line_10_checkbox Boolean true If you satisfy FTE Reduction Safe Harbor 2 (see PPP Schedule A Worksheet), set to true
forgive_schedule_a_line_11 Number 10.00 Average FTE during the Borrower’s chosen reference period
forgive_schedule_a_line_12 Number 10.00 Total Average FTE
forgive_schedule_a_line_13 Number 1.00 FTE Reduction Quotient (divide line 12 by line 11) or enter 1.0 if any of the above criteria are met.
This field supports upto 9 decimals.
forgive_covered_period_from String 2020-07-06 The covered period start date in YYYY-MM-DD
forgive_covered_period_to String 2020-09-06 The covered period end date in YYYY-MM-DD
forgive_alternate_covered_period_from String 2020-07-06 The alternate covered period start date in YYYY-MM-DD
forgive_alternate_covered_period_to String 2020-09-06 The alternate covered period end date in YYYY-MM-DD
forgive_payroll_schedule String Weekly The payroll schedule. Possible Values: “Weekly”,”Biweekly”,”Twice Per Month”,”Monthly”,”Other”. (Other is free form to match 3508 options)
primary_email String user@example.com The primary contact persons email
primary_name String Jason The primary contact for the loan
ez_form Boolean true Indicates whether the application submitted via EZ form
no_reduction_in_employees Boolean true No reduction in employees or average paid hours: If you have not reduced the number of employees or the average paid hours of your employees between January 1, 2020 and the end of the Covered Period, set to true
no_reduction_in_employees_and_
covid_impact
Boolean true FTE Reduction Safe Harbor 1: If you were unable to operate between February 15, 2020, and the end of the Covered Period at the same level of business activity as before February 15, 2020 due to compliance with requirements established or guidance issued between March 1, 2020 and December 31, 2020, by the Secretary of Health and Human Services, the Director of the Centers for Disease Control and Prevention, or the Occupational Safety and Health Administration related to the maintenance of standards for sanitation, social distancing, or any other worker or customer safety requirement related to COVID-19, set to true
forgive_lender_confirmation Boolean true Confirmation from lender that they reviewed borrowers forgiveness application before submitting to SBA. Only ‘true’ value submits the request successfully
forgive_lender_decision Number 1 Final lender decision regarding forgiveness of this PPP loan.
Valid Values (API needs to pass integer value associated with the decision):
APPROVED_IN_FULL = 0
APPROVED_IN_PART = 1
DENIED = 2
sba_decision String Fully Approved This value will always indicate the status of the SBA Decision only. In this case, Fully Approved, Partially Approved, Not Approved. This may not include other reviews and approvals required for payment to the Lender.
approval_date String 2020-08-20 The date on which Forgiveness application was decisioned by SBA
final_forgive_amount Number 1000.00 The final Forgiveness amount approved SBA. You will only see this populate once we run the payment processing jobs.
calculated_interest Number 10.00 The calculated interest on ther Forgiveness amount
final_forgive_payment Number 910.00 This is the final Forgiveness payment (Principal - EIDL Advance) + Interest Due on Net Amount)
final_forgive_payment_date String 2020-08-25 The date on which SBA initiates payment to lender (our process generally runs at 11:00am EST during Fed processing days
final_forgive_payment_batch String PPY08091 Internal Payment Processing Batch.
final_forgive_amount_with_interest Number 910.00 final_forgive_amount - EIDL Advances + Interest accrued over the period of the loan (Funding Date to Payment Date)
s_form Boolean false Indicates whether the application submitted via 3508S form
naics_code Number 722513 Borrower/Business - Valid 6 digit NAICS code (In prod - 03/05)
ppp_loan_draw Number 1 Indicates whether it’s a first draw or second draw forgiveness , 1 for first draw & 2 for second draw (In prod - 03/05). Please note - For Second Draw PPP Loans in excess of $150,000, the borrower must submit its loan forgiveness application for the First Draw PPP Loan before or simultaneously with the loan forgiveness application for the Second Draw PPP Loan, even if the calculated amount of forgiveness on the First Draw PPP Loan is zero
forgive_covered_operations_expenditures Number null Covered Operations expenditure (In prod - 03/05)
forgive_covered_property_damage_costs Number null covered property damage cost (In prod - 03/05)
forgive_covered_supplier_costs Number 1000.00 covered supplier cost (In prod - 03/05)
forgive_covered_protection_expenditures Number 1000.00 covered worker protection expenditure (In prod - 03/05)
loan_increase Number 1000.00 Any Loan increase which lender did on the Loan after initial Loan approval. This amount is already included in PPP Loan amount
loan_increase_date String 2020-12-29 Date on which increased Loan was disbursed by Lender. Lender will be paid interest on Loan increased amount from this date

HTTP Response Code: 403

Parameter Name Data Type Sample Value Description
detail String Authentication credentials were not provided. The detail of the 403 error response

HTTP Response Code: 400

Parameter Name Data Type Sample Value Description
  JSON {
“etran_loan”: {
“forgive_mortgage”:[
“A valid number is required.”
],
“sba_number”: [ “Etran Loan with this sba number already exists.”]
}
}
The detail of the 400 error response for the field which failed validation.
  JSON {
“non_field_errors”: [
“Loan is not valid for your institution”
],
“status_code”: 400
}
The detail of the 400 error response for non field related errors.
detail String Significant error in calculation detected. SBA Platform Calculated amount not matching API input values.
status Number 400 The HTTP status code of the error.

HTTP Response Code: 429

API Call Rate Limits
To maintain reliability and stability within our environments, Forgiveness portal operates with certain API call efficiency guidelines. To ensure effective load balance we continually monitor the API calls to our backend systems and we may throttle requests from developers that are putting unnecessary burden on the system. If the API call rate limit is reached, client will receive an exception. The exception message states: “Request was throttled. Expected available in 1 second”.

Parameter Name Data Type Sample Value Description
detail String Request was throttled. Expected available in 1 second The detail of the 429 error response
status_code Number 429 The HTTP status code

Design Considerations for Client Application

One API call per Forgiveness request. In the case where a client has large number of forgiveness requests, they may prefer to call this API using a batch process.

3. Upload Forgiveness documents

This API is used to provide supporting documents for a particular forgiveness decision.

** Important: This API requires the data and the document file attachment to be sent as form parameters. The Content-type must be multipart/form-data **

Request type: HTTPS

API Endpoint:

POST /api/ppp_loan_documents/
Content-type: multipart/form-data

Request (Sample)


/api/ppp_loan_documents/

Request Parameters

Not Applicable (No request body)

Request Path Parameters

Not Applicable

Request Query Parameters

Not Applicable

Request Form Data Parameters

Form Data Name Data Type Mandatory/Optional Sample Value Description
name String Mandatory Payroll.pdf The name of the document
document_type Number Mandatory 1 The type of document uploaded. Possible Values can be found by calling the GET API: 1. Get Document Types
etran_loan UUID Mandatory df481fbb-c41f-46f3-b96f-94374d747a8d The UUID(Slug) of the etran loan which came as part of the forgiveness request creation. This ensures the document gets attached to the corresponding forgiveness request
document File Mandatory Payroll.pdf Actual file to be uploaded. The file that needs to be part of the multipart/form-data request. Allowed file types include .pdf,.xls,.xlsx,.csv,.doc,.docx,.jpg,.jpeg,.png

Response (Sample)


{
    "slug": "5ae02dd4-a7f7-4c40-90fc-20cba32e8de0",
    "name": "Payroll.pdf",
    "created_at": "2020-07-06T17:17:58.218Z",
    "updated_at": "2020-07-06T17:17:58.218Z",
    "document": "https://lenders-co-operative/../Payroll.pdf",
    "document_type": 1,
    "url": "https://lenders-co-operative/../Payroll.pdf",
    "etran_loan": "df481fbb-c41f-46f3-b96f-94374d747a8d"
}

Response Parameters :

HTTP Response Code: 201

Parameter Name Data Type Sample Value Description
slug UUID 5ae02dd4-a7f7-4c40-90fc-20cba32e8de0 The UUID of the document
name String Payroll.pdf The name of the document
created_at String 2020-07-06T17:17:58.218Z The created date time of the document in UTC
updated_at String 2020-07-06T17:17:58.218Z The updated date time of the document in UTC
document String https://lenders-co-operative/../Payroll.pdf The short lived URL of the document on the server
document_type Number 1 The type of document uploaded. Possible Values can be found by calling the GET API: 1. Get Document Types
url String https://lenders-co-operative/../Payroll.pdf The permalink URL of the document on the server
etran_loan UUID df481fbb-c41f-46f3-b96f-94374d747a8d The UUID(Slug) of the etran loan which came as part of the forgiveness request creation. This ensures the document gets attached to the corresponding forgiveness request

HTTP Response Code: 403

Parameter Name Data Type Sample Value Description
detail String Authentication credentials were not provided. The detail of the 403 error response

HTTP Response Code: 404

Parameter Name Data Type Sample Value Description
detail JSON {“detail”:”[‘Additional documents not allowed at this time’]”,
“status_code”:404
}.
The detail of the 404 error response

HTTP Response Code: 400

Parameter Name Data Type Sample Value Description
  JSON {
“document_type”: [
“Incorrect type. Expected pk value, received str.”
],”status_code”: 400
}
The request sent was not correct.

HTTP Response Code: 429

API Call Rate Limits
To maintain reliability and stability within our environments, Forgiveness portal operates with certain API call efficiency guidelines. To ensure effective load balance we continually monitor the API calls to our backend systems and we may throttle requests from developers that are putting unnecessary burden on the system. If the API call rate limit is reached, client will receive an exception. The exception message states: “Request was throttled. Expected available in 1 second”.

Parameter Name Data Type Sample Value Description
detail String Request was throttled. Expected available in 1 second The detail of the 429 error response
status_code Number 429 The HTTP status code

Design Consideration for Client Application

This API should be called immediately after the Forgiveness request API. This API also requires document type as input which the client can get from 1. Get Document Types One API call per document type per forgiveness request. If client is submitting multiple documents for a Forgiveness request, they would have to call this API multiple times. In the case where a Client has large number of forgiveness supporting documents, they may prefer to call this API using a batch process.

4. Get Details of ALL Forgiveness Requests

This API fetches the list of ALL forgiveness decisions for a lender

Request type: HTTPS

API Endpoint:

GET /api/ppp_loan_forgiveness_requests/

Request (Sample)


/api/ppp_loan_forgiveness_requests/

Request Parameters

Not Applicable (No request body)

Request Path Parameters

Not Applicable

Request Query Parameters

Query Parameter Name Data Type Mandatory/Optional Sample Value Description
page Number Optional 1 The page number of the records to be fetched (for pagination)

Request Form Data Parameters

Not Applicable

Response (Sample)


{
    "count": 1,
    "next": null,
    "previous": null,
    "results": [
        {
            "slug": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
            "borrower_name": "Jason",
            "etran_loan": {
                "slug": "df481fbb-c41f-46f3-b96f-94374d747a8d",
                "bank_notional_amount": 900000.00,
                "sba_number": "9999114733",
                "loan_number": "7777777",
                "entity_name": "Abc Inc",
                "ein": "997114733",
                "funding_date": "2020-07-06",
                "forgive_eidl_amount": 100.00,
                "forgive_eidl_application_number": 123456789,
                "forgive_payroll": 1000.00,
                "forgive_rent": 1000.00,
                "forgive_utilities": 1000.00,
                "forgive_mortgage": 1000.00,
                "address1": "5050 Ritter Road – Suite B",
                "address2": "Mechanicsburg, PA",
                "dba_name": "Abc Inc",
                "organization": {
                    "name": "Abc Bank",
                    "etran_location_id": "string",
                    "slug": "e2f282d3-33e4-408e-9f2d-07a837c894e5"
                },
                "phone_number": "6102342123",
                "forgive_fte_at_loan_application": 10,
                "documents": [
                    {
                        "slug": "5ae02dd4-a7f7-4c40-90fc-20cba32e8de0",
                        "name": "Payroll.pdf",
                        "created_at": "2020-07-06T17:50:43.369Z",
                        "updated_at": "2020-07-06T17:50:43.369Z",
                        "document": "https://lenders-co-operative/../Payroll.pdf",
                        "url": "https://lenders-co-operative/../Payroll.pdf",
                        "etran_loan": "df481fbb-c41f-46f3-b96f-94374d747a8d",
                        "document_type": {
                            "id": 1,
                            "name": "Loan Application Supporting Docs (Payroll)",
                            "description": "Loan Application Supporting Docs (Payroll)"
                        }
                    }
                ],
                "status": "Pending Validation",
                "demographics": [
                    {
                        "name": "Jason",
                        "position": "self-employed individual",
                        "veteran_status": "1",
                        "gender": "M",
                        "ethnicity": "H",
                        "races": [
                            {
                                "race": "1"
                            }
                        ]
                    }
                ],
                "forgive_line_6_3508_or_line_5_3508ez": 3999.00,
                "forgive_modified_total": 3999.00,
                "forgive_payroll_cost_60_percent_requirement": 1666.66,
                "forgive_amount": 1666.66,
                "forgive_fte_at_forgiveness_application": 10,
                "forgive_schedule_a_line_1": 1.00,
                "forgive_schedule_a_line_2": 1.00,
                "forgive_schedule_a_line_3_checkbox": true,
                "forgive_schedule_a_line_3": 1.00,
                "forgive_schedule_a_line_4": 1.00,
                "forgive_schedule_a_line_5": 1.00,
                "forgive_schedule_a_line_6": 1.00,
                "forgive_schedule_a_line_7": 1.00,
                "forgive_schedule_a_line_8": 1.00,
                "forgive_schedule_a_line_9": 1.00,
                "forgive_schedule_a_line_10": 6.00,
                "forgive_schedule_a_line_10_checkbox": true,
                "forgive_schedule_a_line_11": 10.00,
                "forgive_schedule_a_line_12": 10.00,
                "forgive_schedule_a_line_13": 1.00,
                "forgive_covered_period_from": "2020-07-06",
                "forgive_covered_period_to": "2020-09-06",
                "forgive_alternate_covered_period_from": "2020-07-06",
                "forgive_alternate_covered_period_to": "2020-09-06",
                "forgive_payroll_schedule": "Weekly",
                "primary_email": "user@example.com",
                "primary_name": "Jason",
                "ez_form": true,
                "no_reduction_in_employees": true,
                "no_reduction_in_employees_and_covid_impact": true,
                "forgive_lender_confirmation": true,
                "forgive_lender_decision": 1,
                "sba_decision": "Fully Approved",
                "approval_date": "2020-08-20",
                "final_forgive_amount": 1000.00,
                "calculated_interest": 10.00,
                "final_forgive_payment": 910.00,
                "final_forgive_payment_date": "2020-08-25",
                "final_forgive_payment_batch": "PPY08091",
                "final_forgive_amount_with_interest": 910.00,
                "payment_status": "Payment Sent",
                "s_form": false,
				"adjustments": [
                   {
                       "payment_amount": 50095.83,
                       "payment_date": "2020-11-21",
                       "status": "Payment Confirmed",
                       "payment_batch": "PF011224",
                       "payment_confirmed_at": "2020-11-22",
		       "document": "28328262-a0ea-4f85-81da-60a9191e714f",
                        "principal_amount": 50000.0,
                        "interest_amount": 95.83,
                        "disbursement_date": "2021-03-14",
                        "reason": "Lender Input Error",
                        "calculation_method": "Calculate interest from Disbursement Date to Original Payment Date"
			"payment_type": "Under Payment"
                      },
				  {
                        "payment_amount": 100000.0,
                        "payment_date": "2021-09-19",
                        "status": "Eligible for payment",
                        "payment_batch": "PF011224",
                        "payment_confirmed_at": "2021-09-20",
                        "document": null,
                        "principal_amount": 100000.0,
                        "interest_amount": 0.0,
                        "disbursement_date": null,
                        "reason": "None",
                        "calculation_method": null,
                        "payment_type": "Over Payment"
                    },
               ],
               "total_adjustments": 50095.83
	       "naics_code": null,
               "ppp_loan_draw": 1,
               "forgive_covered_operations_expenditures": null,
               "forgive_covered_property_damage_costs": null,
               "forgive_covered_supplier_costs": null,
               "forgive_covered_protection_expenditures": null,
		   "source": 2,
	       "loan_increase": 1000.00, 
	       "loan_increase_date": "2020-12-29" 
            },
            "created": "07/02/2021"
        }
    ]
}

Response Parameters

HTTP Response Code: 200

Parameter Name Data Type Sample Value Description
count Number 1 The total count of the forgiveness requests
next String null The URI of the next set forgiveness requests to be fetched
previous String null The URI of the previous set of forgiveness requests to be fetched
results JSON Array    
slug UUID 3fa85f64-5717-4562-b3fc-2c963f66afa6 The UUID of the Forgiveness request
borrower_name String Jason The name of the borrower
etran_loan JSON Object    
slug UUID df481fbb-c41f-46f3-b96f-94374d747a8d The UUID of the etran loan request
bank_notional_amount Number 900000.00 The PPP loan amount
sba_number String 9999114733 The SBA loan number
loan_number String 7777777 The Lender’s loan number
entity_name String Abc Inc The entity name of the borrower
ein String 997114733 The SSN or Business TIN of the borrower
funding_date String 2020-07-06 PPP loan Disbursement date in YYYY-MM-DD
forgive_eidl_amount Number 100.00 The EIDL advance. This will be Lender provided till SBA payment batch runs. Once the SBA payment processing is done, this will be populated with SBA EIDL advance
forgive_eidl_application_number Number 123456789 Lender provided EIDL application number
forgive_payroll Number 1000.00 Payroll Cost
forgive_rent Number 1000.00 Business Rent or Lease Payments
forgive_utilities Number 1000.00 Business Utility Payments
forgive_mortgage Number 1000.00 Business Mortgage Interest Payments
address1 String 5050 Ritter Road – Suite B Business Address Line 1
address2 String Mechanicsburg, PA Business Address Line 2
dba_name String Abc Inc The DBA Name or Trade Name of the borrower
organization JSON Object    
name String Abc Bank Name of the Lender
etran_location_id String Location ID Location ID of Lender in SBA System
slug UUID e2f282d3-33e4-408e-9f2d-07a837c894e5 The UUID of the Lender in the SBA System
phone_number String 6102342123 The Business Phone Number of the borrower
forgive_fte_at_loan_application Number 10 The full time employees at the time of loan application, decimal values are not allowed
documents JSON Array    
slug UUID 5ae02dd4-a7f7-4c40-90fc-20cba32e8de0 The UUID of the document
name String Payroll.pdf The name of the document
created_at String 2020-07-06T17:17:58.218Z The created date time of the document in UTC
updated_at String 2020-07-06T17:17:58.218Z The updated date time of the document in UTC
document String https://lenders-co-operative/../Payroll.pdf The short lived URL of the document on the server
url String https://lenders-co-operative/../Payroll.pdf Permalink for document on server
etran_loan String df481fbb-c41f-46f3-b96f-94374d747a8d The UUID(Slug) of the etran loan which came as part of the forgiveness request creation. This ensures the document gets attached to the corresponding forgiveness request
document_type JSON Object    
id Number 1 The id of the document type as defined in SBA System
name String Loan Application Supporting Docs (Payroll) The name of the document type
description String Loan Application Supporting Docs (Payroll) The description of the document type
status String Pending Validation This value indicates the overall phase of the Forgiveness decision – up to and including the Payment status (including: Pending Validation, Under Review, Fully Approved, Not Approved, Partially Approved, Lender Additional Info Needed, Payment Sent, Payment Confirmed, Payment Failed)
demographics JSON Array    
name String Jason The Principal name
position String self-employed individual Identify the Principal’s position; for example, self-employed individual; independent contractor; sole proprietor; general partner; owner; officer; director; member; or key employee.
veteran_status String 1 The veteran status of the borrower. Possible Values: [ 1, 2, 3, 4, X ]
1=Non-Veteran; 2=Veteran; 3=Service-Disabled Veteran; 4=Spouse of Veteran; X=Not Disclosed
gender String M The gender of the borrower. Possible Values: [M, F, X ]
M=Male; F=Female; X=Not Disclosed
ethnicity String H The ethnicity of the borrower. Possible Values: [H, N, X ]
H=Hispanic or Latino; N=Not Hispanic or Latino; X=Not Disclosed
races JSON Array    
race String 1 The race of the borrower. Possible Values: [1, 2, 3, 4, 5, X ]
1=American Indian or Alaska Native; 2=Asian; 3=Black or African-American; 4=Native Hawaiian or Pacific Islander; 5=White; X=Not Disclosed
forgive_line_6_3508_or_line_5_3508ez Number 3999.00 Line 6 of 3508 or line 5 of 3508 EZ
forgive_modified_total Number 3999.00 Forgiveness Amount calculation line 8
forgive_payroll_cost_60_percent_requirement Number 1666.66 Payroll cost 60% requirement
forgive_amount Number 1666.66 Forgiveness Amount
forgive_fte_at_forgiveness_application Number 10 Full time employees at the time of forgiveness application, decimal values are not allowed
forgive_schedule_a_line_1 Number 1.00 Cash Compensation (Box 1) from PPP Schedule A Worksheet, Table 1
forgive_schedule_a_line_2 Number 1.00 Average FTE (Box 2) from PPP Schedule A Worksheet, Table 1
forgive_schedule_a_line_3_checkbox Boolean true Salary/Hourly Wage Reduction (Box 3) from PPP Schedule A Worksheet, Table 1: If the average annual salary or hourly wage for each employee listed on the PPP Schedule A Worksheet, Table 1 during the Covered Period or the Alternative Payroll Covered Period was at least 75% of such employee’s average annual salary or hourly wage between January 1, 2020 and March 31, 2020, then set to true and put the value as 0 for field forgive_schedule_a_line_3
forgive_schedule_a_line_3 Number 1.00 Salary/Hourly Wage Reduction (Box 3) from PPP Schedule A Worksheet, Table 1
forgive_schedule_a_line_4 Number 1.00 Cash Compensation (Box 4) from PPP Schedule A Worksheet, Table 2
forgive_schedule_a_line_5 Number 1.00 Average FTE (Box 5) from PPP Schedule A Worksheet, Table 2
forgive_schedule_a_line_6 Number 1.00 Total amount paid or incurred by Borrower for employer contributions for employee health insurance
forgive_schedule_a_line_7 Number 1.00 Total amount paid or incurred by Borrower for employer contributions to employee retirement plans
forgive_schedule_a_line_8 Number 1.00 Total amount paid or incurred by Borrower for employer state and local taxes assessed on employee compensation
forgive_schedule_a_line_9 Number 1.00 Total amount paid to owner-employees/self-employed individual/general partners
forgive_schedule_a_line_10 Number 6.00 Total Payroll Costs (add lines 1, 4, 6, 7, 8, and 9)
forgive_schedule_a_line_10_checkbox Boolean true If you satisfy FTE Reduction Safe Harbor 2 (see PPP Schedule A Worksheet), set to true
forgive_schedule_a_line_11 Number 10.00 Average FTE during the Borrower’s chosen reference period
forgive_schedule_a_line_12 Number 10.00 Total Average FTE
forgive_schedule_a_line_13 Number 1.00 FTE Reduction Quotient (divide line 12 by line 11) or enter 1.0 if any of the above criteria are met.
This field supports upto 9 decimals.
forgive_covered_period_from String 2020-07-06 The covered period start date in YYYY-MM-DD
forgive_covered_period_to String 2020-09-06 The covered period end date in YYYY-MM-DD
forgive_alternate_covered_period_from String 2020-07-06 The alternate covered period start date in YYYY-MM-DD
forgive_alternate_covered_period_to String 2020-09-06 The alternate covered period end date in YYYY-MM-DD
forgive_payroll_schedule String Weekly The payroll schedule. Possible Values: “Weekly”,”Biweekly”,”Twice Per Month”,”Monthly”,”Other”. (Other is free form to match 3508 options)
primary_email String user@example.com The primary contact persons email
primary_name String Jason The primary contact for the loan
ez_form Boolean true Indicates whether the application submitted via EZ form
no_reduction_in_employees Boolean true No reduction in employees or average paid hours: If you have not reduced the number of employees or the average paid hours of your employees between January 1, 2020 and the end of the Covered Period, set to true
no_reduction_in_employees_and_
covid_impact
Boolean true FTE Reduction Safe Harbor 1: If you were unable to operate between February 15, 2020, and the end of the Covered Period at the same level of business activity as before February 15, 2020 due to compliance with requirements established or guidance issued between March 1, 2020 and December 31, 2020, by the Secretary of Health and Human Services, the Director of the Centers for Disease Control and Prevention, or the Occupational Safety and Health Administration related to the maintenance of standards for sanitation, social distancing, or any other worker or customer safety requirement related to COVID-19, set to true
forgive_lender_confirmation Boolean true Confirmation from lender that they reviewed borrowers forgiveness application before submitting to SBA. Only ‘true’ value submits the request successfully
forgive_lender_decision Number 1 Final lender decision regarding forgiveness of this PPP loan.
Valid Values (API needs to pass integer value associated with the decision):
APPROVED_IN_FULL = 0
APPROVED_IN_PART = 1
DENIED = 2
sba_decision String Fully Approved This value will always indicate the status of the SBA Decision only. In this case, Fully Approved, Partially Approved, Not Approved. This may not include other reviews and approvals required for payment to the Lender.
approval_date String 2020-08-20 The date on which Forgiveness application was decisioned by SBA
final_forgive_amount Number 1000.00 The final Forgiveness amount approved SBA. You will only see this populate once we run the payment processing jobs.
calculated_interest Number 10.00 The calculated interest on ther Forgiveness amount
final_forgive_payment Number 910.00 This is the final Forgiveness payment (Principal - EIDL Advance) + Interest Due on Net Amount)
final_forgive_payment_date String 2020-08-25 The date on which SBA initiates payment to lender (our process generally runs at 11:00am EST during Fed processing days
final_forgive_payment_batch String PPY08091 Internal Payment Processing Batch
final_forgive_amount_with_interest Number 910.00 final_forgive_amount - EIDL Advances + Interest accrued over the period of the loan (Funding Date to Payment Date)
s_form Boolean false Indicates whether the application submitted via 3508S form
payment_status String Payment Sent The payment status of forgiveness request. Possible Values: Payment Sent,Payment Confirmed,Payment Failed
adjustments JSON Array   Adjustment array
payment_amount Number 100.00 Total Adjustment amount
payment_date String 2020-11-21 Date on which adjustment payment was initiated by Forgiveness platform
status string Payment Confirmed Adjustment payment status, can have values of Payment Sent or Payment Confirmed for under payment request and Under Review or Eligible for payment for over payment request
payment_batch string PF011224 Payment Batch in which adjustment payment was initiated, applicable for under payment only
payment_confirmed_at string 2020-11-22 Date on which adjustment payment was confirmed by SBA. It gets populated with date when status is Payment Confirmed
document string 09deacc4-a0af-47ec-93fd-a30e9bc45701 Slug id of the adjustment document, applicable for under payment requests only
principal_amount Number 50000.0 Principal amount of adjustment
interest_amount Number 95.83 Interest amount of adjustment
disbursement_date String 2021-03-14 Disbursement date of adjusted payment, applicable for under payment only
reason String Lender Input Error Reason of the payment adjustment, applicable for under payment only
calculation_method String Calculate interest from Disbursement Date to Original Payment Date Calculation method used for payment adjustment, applicable for under payment only
payment_type String Over Payment Reason for payment adjustment, valid values are Under Payment or Over Payment
total_adjustments Number 100.00 Total adjustment amount, will be sum of the all under adjustments for SBA number
naics_code Number 722513 Borrower/Business - Valid 6 digit NAICS code (In prod - 03/05)
ppp_loan_draw Number 1 Indicates whether it’s a first draw or second draw forgiveness , 1 for first draw & 2 for second draw (In prod - 03/05)
forgive_covered_operations_expenditures Number null Covered Operations expenditure (In prod - 03/05)
forgive_covered_property_damage_costs Number null covered property damage cost (In prod - 03/05)
forgive_covered_supplier_costs Number 1000.00 covered supplier cost (In prod - 03/05)
forgive_covered_protection_expenditures Number 1000.00 covered worker protection expenditure (In prod - 03/05)
source Number 1 If the Forgiveness was initiated by Lender, it’s value by 1 else if it was intiiated by borrower (direct forgiveness) its value will be 2
loan_increase Number 1000.00 Any Loan increase which lender did on the Loan after initial Loan approval. This amount is already included in PPP Loan amount
loan_increase_date String 2020-12-29 Date on which increased Loan was disbursed by Lender. Lender will be paid interest on Loan increased amount from this date
created String 2021-01-12 The created date of the Forgiveness request in YYYY-MM-DD

HTTP Response Code: 403

Parameter Name Data Type Sample Value Description
detail String Authentication credentials were not provided. The detail of the 403 error response

HTTP Response Code: 429

API Call Rate Limits
To maintain reliability and stability within our environments, Forgiveness portal operates with certain API call efficiency guidelines. To ensure effective load balance we continually monitor the API calls to our backend systems and we may throttle requests from developers that are putting unnecessary burden on the system. If the API call rate limit is reached, client will receive an exception. The exception message states: “Request was throttled. Expected available in 1 second”.

Parameter Name Data Type Sample Value Description
detail String Request was throttled. Expected available in 1 second The detail of the 429 error response
status_code Number 429 The HTTP status code

Design Consideration for Client Application

This API provides Status/Details of all submitted forgiveness requests for a Lender. This API supports pagination functionality and if client is designing a UI or batch process to call this API, they may like to have page up and page down feature. Every page returns 50 maximum records

5. Get Forgiveness Request Details using Forgiveness request uuid

This API is used for getting details of existing forgiveness requests using unique slug id (Forgiveness request UUID)

Request type: HTTPS

API Endpoint:

GET /api/ppp_loan_forgiveness_requests/{slug}/

Request (Sample)


/api/ppp_loan_forgiveness_requests/3fa85f64-5717-4562-b3fc-2c963f66afa6/

Request Parameters

Not Applicable (No request body)

Request Path Parameters

Path Parameter Name Data Type Mandatory/Optional Sample Value Description
slug UUID Mandatory 3fa85f64-5717-4562-b3fc-2c963f66afa6 The UUID of the forgiveness request

Request Query Parameters

Not Applicable

Request Form Data Parameters

Not Applicable

Response (Sample)


{
    "slug": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "borrower_name": "Jason",
    "etran_loan": {
        "slug": "df481fbb-c41f-46f3-b96f-94374d747a8d",
        "bank_notional_amount": 900000.00,
        "sba_number": "9999114733",
        "loan_number": "7777777",
        "entity_name": "Abc Inc",
        "ein": "997114733",
        "funding_date": "2020-07-06",
        "forgive_eidl_amount": 100.00,
        "forgive_eidl_application_number": 123456789,
        "forgive_payroll": 1000.00,
        "forgive_rent": 1000.00,
        "forgive_utilities": 1000.00,
        "forgive_mortgage": 1000.00,
        "address1": "5050 Ritter Road – Suite B",
        "address2": "Mechanicsburg, PA",
        "dba_name": "Abc Inc",
        "organization": {
            "name": "Abc bank",
            "etran_location_id": "string",
            "slug": "e2f282d3-33e4-408e-9f2d-07a837c894e5"
        },
        "phone_number": "6102342123",
        "forgive_fte_at_loan_application": 10,
        "documents": [
            {
                "slug": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
                "name": "SBA 2408 Form",
                "created_at": "2020-07-06T19:19:04.657Z",
                "updated_at": "2020-07-06T19:19:04.657Z",
                "document": "https://lenders-co-operative/../Payroll.pdf",
                "url": "https://lenders-co-operative/../Payroll.pdf",
                "etran_loan": "df481fbb-c41f-46f3-b96f-94374d747a8d",
                "document_type": {
                    "id": 1,
                    "name": "Loan Application Supporting Docs (Payroll)",
                    "description": "Loan Application Supporting Docs (Payroll)"
                }
            }
        ],
        "status": "Pending Validation",
        "demographics": [
            {
                "name": "Jason",
                "position": "self-employed individual",
                "veteran_status": "1",
                "gender": "M",
                "ethnicity": "H",
                "races": [
                    {
                        "race": "1"
                    }
                ]
            }
        ],
        "forgive_line_6_3508_or_line_5_3508ez": 3999.00,
        "forgive_modified_total": 3999.00,
        "forgive_payroll_cost_60_percent_requirement": 1666.66,
        "forgive_amount": 1666.66,
        "forgive_fte_at_forgiveness_application": 10,
        "forgive_schedule_a_line_1": 1.00,
        "forgive_schedule_a_line_2": 1.00,
        "forgive_schedule_a_line_3_checkbox": true,
        "forgive_schedule_a_line_3": 1.00,
        "forgive_schedule_a_line_4": 1.00,
        "forgive_schedule_a_line_5": 1.00,
        "forgive_schedule_a_line_6": 1.00,
        "forgive_schedule_a_line_7": 1.00,
        "forgive_schedule_a_line_8": 1.00,
        "forgive_schedule_a_line_9": 1.00,
        "forgive_schedule_a_line_10": 6.00,
        "forgive_schedule_a_line_10_checkbox": true,
        "forgive_schedule_a_line_11": 10.00,
        "forgive_schedule_a_line_12": 10.00,
        "forgive_schedule_a_line_13": 1.00,
        "forgive_covered_period_from": "2020-07-06",
        "forgive_covered_period_to": "2020-09-06",
        "forgive_alternate_covered_period_from": "2020-07-06",
        "forgive_alternate_covered_period_to": "2020-09-06",
        "forgive_payroll_schedule": "Weekly",
        "primary_email": "user@example.com",
        "primary_name": "Jason",
        "ez_form": true,
        "no_reduction_in_employees": true,
        "no_reduction_in_employees_and_covid_impact": true,
        "forgive_lender_confirmation": true,
        "forgive_lender_decision": 1,
        "sba_decision": "Fully Approved",
        "approval_date": "2020-08-20",
        "final_forgive_amount": 1000.00,
        "calculated_interest": 10.00,
        "final_forgive_payment": 910.00,
        "final_forgive_payment_date": "2020-08-25",
        "final_forgive_payment_batch": PPY08091,
        "final_forgive_amount_with_interest": 910.00,
        "payment_status": "Payment Sent",
        "s_form": false,
		"adjustments": [
            {
                       "payment_amount": 50095.83,
                       "payment_date": "2020-11-21",
                       "status": "Payment Confirmed",
                       "payment_batch": "PF011224",
                       "payment_confirmed_at": "2020-11-22",
		       "document": "28328262-a0ea-4f85-81da-60a9191e714f",
                        "principal_amount": 50000.0,
                        "interest_amount": 95.83,
                        "disbursement_date": "2021-03-14",
                        "reason": "Lender Input Error",
                        "calculation_method": "Calculate interest from Disbursement Date to Original Payment Date"
			"payment_type": "Under Payment"
                      },
				  {
                        "payment_amount": 100000.0,
                        "payment_date": "2021-09-19",
                        "status": "Eligible for payment",
                        "payment_batch": "PF011224",
                        "payment_confirmed_at": "2021-09-20",
                        "document": null,
                        "principal_amount": 100000.0,
                        "interest_amount": 0.0,
                        "disbursement_date": null,
                        "reason": "None",
                        "calculation_method": null,
                        "payment_type": "Over Payment"
                    },
        "total_adjustments": 100.00
	"naics_code": null,
        "ppp_loan_draw": 1,
        "forgive_covered_operations_expenditures": null,
        "forgive_covered_property_damage_costs": null,
        "forgive_covered_supplier_costs": null,
        "forgive_covered_protection_expenditures": null,
		"source": 2,
	"loan_increase": 1000.00, 
	"loan_increase_date": "2021-01-01" 
		    },
    "created": "01/02/2021"
}

Response Parameters

HTTP Response Code: 200

Parameter Name Data Type Sample Value Description
slug UUID 3fa85f64-5717-4562-b3fc-2c963f66afa6 The UUID of the Forgiveness request
borrower_name String Jason The name of the borrower
etran_loan JSON Object    
slug UUID df481fbb-c41f-46f3-b96f-94374d747a8d The UUID of the etran loan request
bank_notional_amount Number 900000.00 The PPP loan amount
sba_number String 9999114733 The SBA loan number
loan_number String 7777777 The Lender’s loan number
entity_name String Abc Inc The entity name of the borrower
ein String 997114733 The SSN or Business TIN of the borrower
funding_date String 2020-07-06 PPP loan Disbursement date in YYYY-MM-DD
forgive_eidl_amount Number 100.00 The EIDL advance. This will be Lender provided till SBA payment batch runs. Once the SBA payment processing is done, this will be populated with SBA EIDL advance
forgive_eidl_application_number Number 123456789 Lender provided EIDL application number
forgive_payroll Number 1000.00 Payroll Cost
forgive_rent Number 1000.00 Business Rent or Lease Payments
forgive_utilities Number 1000.00 Business Utility Payments
forgive_mortgage Number 1000.00 Business Mortgage Interest Payments
address1 String 5050 Ritter Road – Suite B Business Address Line 1
address2 String Mechanicsburg, PA Business Address Line 2
dba_name String Abc Inc The DBA Name or Trade Name of the borrower
organization JSON Object    
name String Abc Bank Name of the Lender
etran_location_id String Location ID Location ID of Lender in SBA System
slug UUID e2f282d3-33e4-408e-9f2d-07a837c894e5 The UUID of the Lender in the SBA System
phone_number String 6102342123 The Business Phone Number of the borrower
forgive_fte_at_loan_application Number 10 The full time employees at the time of loan application, decimal values are not allowed
documents JSON Array    
slug UUID 5ae02dd4-a7f7-4c40-90fc-20cba32e8de0 The UUID of the document
name String Payroll.pdf The name of the document
created_at String 2020-07-06T17:17:58.218Z The created date time of the document in UTC
updated_at String 2020-07-06T17:17:58.218Z The updated date time of the document in UTC
document String https://lenders-co-operative/../Payroll.pdf Short lived direct access to download document
url String https://lenders-co-operative/../Payroll.pdf Permalink for document on server
etran_loan String df481fbb-c41f-46f3-b96f-94374d747a8d The UUID(Slug) of the etran loan which came as part of the forgiveness request creation. This ensures the document gets attached to the corresponding forgiveness request
document_type JSON Object    
id Number 1 The id of the document type as defined in SBA System
name String Loan Application Supporting Docs (Payroll) The name of the documenttype
description String Loan Application Supporting Docs (Payroll) The description of the document type
status String Pending Validation This value indicates the overall phase of the Forgiveness decision – up to and including the Payment status (including: Pending Validation, Under Review, Fully Approved, Not Approved, Partially Approved, Lender Additional Info Needed, Payment Sent, Payment Confirmed, Payment Failed)
demographics JSON Array    
name String Jason The Principal name
position String self-employed individual Identify the Principal’s position; for example, self-employed individual; independent contractor; sole proprietor; general partner; owner; officer; director; member; or key employee.
veteran_status String 1 The veteran status of the borrower. Possible Values: [ 1, 2, 3, 4, X ]
1=Non-Veteran; 2=Veteran; 3=Service-Disabled Veteran; 4=Spouse of Veteran; X=Not Disclosed
gender String M The gender of the borrower. Possible Values: [M, F, X ]
M=Male; F=Female; X=Not Disclosed
ethnicity String H The ethnicity of the borrower. Possible Values: [H, N, X ]
H=Hispanic or Latino; N=Not Hispanic or Latino; X=Not Disclosed
races JSON Array    
race String 1 The race of the borrower. Possible Values: [1, 2, 3, 4, 5, X ]
1=American Indian or Alaska Native; 2=Asian; 3=Black or African-American; 4=Native Hawaiian or Pacific Islander; 5=White; X=Not Disclosed
forgive_line_6_3508_or_line_5_3508ez Number 3999.00 Line 6 of 3508 or line 5 of 3508 EZ
forgive_modified_total Number 3999.00 Forgiveness Amount calculation line 8
forgive_payroll_cost_60_percent_requirement Number 1666.66 Payroll cost 60% requirement
forgive_amount Number 1666.66 Forgiveness Amount
forgive_fte_at_forgiveness_application Number 10 Full time employees at the time of forgiveness application, decimal values are not allowed
forgive_schedule_a_line_1 Number 1.00 Cash Compensation (Box 1) from PPP Schedule A Worksheet, Table 1
forgive_schedule_a_line_2 Number 1.00 Average FTE (Box 2) from PPP Schedule A Worksheet, Table 1
forgive_schedule_a_line_3_checkbox Boolean true Salary/Hourly Wage Reduction (Box 3) from PPP Schedule A Worksheet, Table 1: If the average annual salary or hourly wage for each employee listed on the PPP Schedule A Worksheet, Table 1 during the Covered Period or the Alternative Payroll Covered Period was at least 75% of such employee’s average annual salary or hourly wage between January 1, 2020 and March 31, 2020, then set to true and put the value as 0 for field forgive_schedule_a_line_3
forgive_schedule_a_line_3 Number 1.00 Salary/Hourly Wage Reduction (Box 3) from PPP Schedule A Worksheet, Table 1
forgive_schedule_a_line_4 Number 1.00 Cash Compensation (Box 4) from PPP Schedule A Worksheet, Table 2
forgive_schedule_a_line_5 Number 1.00 Average FTE (Box 5) from PPP Schedule A Worksheet, Table 2
forgive_schedule_a_line_6 Number 1.00 Total amount paid or incurred by Borrower for employer contributions for employee health insurance
forgive_schedule_a_line_7 Number 1.00 Total amount paid or incurred by Borrower for employer contributions to employee retirement plans
forgive_schedule_a_line_8 Number 1.00 Total amount paid or incurred by Borrower for employer state and local taxes assessed on employee compensation
forgive_schedule_a_line_9 Number 1.00 Total amount paid to owner-employees/self-employed individual/general partners
forgive_schedule_a_line_10 Number 6.00 Total Payroll Costs (add lines 1, 4, 6, 7, 8, and 9)
forgive_schedule_a_line_10_checkbox Boolean true If you satisfy FTE Reduction Safe Harbor 2 (see PPP Schedule A Worksheet), set to true
forgive_schedule_a_line_11 Number 10.00 Average FTE during the Borrower’s chosen reference period
forgive_schedule_a_line_12 Number 10.00 Total Average FTE
forgive_schedule_a_line_13 Number 1.00 FTE Reduction Quotient (divide line 12 by line 11) or enter 1.0 if any of the above criteria are met.
This field supports upto 9 decimals.
forgive_covered_period_from String 2020-07-06 The covered period start date in YYYY-MM-DD
forgive_covered_period_to String 2020-07-06 The covered period end date in YYYY-MM-DD
forgive_alternate_covered_period_from String 2020-07-06 The alternate covered period start date in YYYY-MM-DD
forgive_alternate_covered_period_to String 2020-07-06 The alternate covered period end date in YYYY-MM-DD
forgive_payroll_schedule String Weekly The payroll schedule. Possible Values: “Weekly”,”Biweekly”,”Twice Per Month”,”Monthly”,”Other”. (Other is free form to match 3508 options)
primary_email String user@example.com The primary contact persons email
primary_name String Some Name The primary contact for the loan
ez_form Boolean true Indicates whether the application submitted via EZ form
no_reduction_in_employees Boolean true No reduction in employees or average paid hours: If you have not reduced the number of employees or the average paid hours of your employees between January 1, 2020 and the end of the Covered Period, set to true
no_reduction_in_employees_and_
covid_impact
Boolean true FTE Reduction Safe Harbor 1: If you were unable to operate between February 15, 2020, and the end of the Covered Period at the same level of business activity as before February 15, 2020 due to compliance with requirements established or guidance issued between March 1, 2020 and December 31, 2020, by the Secretary of Health and Human Services, the Director of the Centers for Disease Control and Prevention, or the Occupational Safety and Health Administration related to the maintenance of standards for sanitation, social distancing, or any other worker or customer safety requirement related to COVID-19, set to true
forgive_lender_confirmation Boolean true Confirmation from lender that they reviewed borrowers forgiveness application before submitting to SBA. Only ‘true’ value submits the request successfully
forgive_lender_decision Number 1 Final lender decision regarding forgiveness of this PPP loan.
Valid Values (API needs to pass integer value associated with the decision):
APPROVED_IN_FULL = 0
APPROVED_IN_PART = 1
DENIED = 2
sba_decision String Fully Approved This value will always indicate the status of the SBA Decision only. In this case, Fully Approved, Partially Approved, Not Approved. This may not include other reviews and approvals required for payment to the Lender.
approval_date String 2020-08-20 The date on which Forgiveness application was approved by SBA
approval_date String 2020-08-20 The date on which Forgiveness application was decisioned by SBA
calculated_interest Number 10.00 The calculated interest on ther Forgiveness amount
final_forgive_payment Number 910.00 This is the final Forgiveness payment (Principal - EIDL Advance) + Interest Due on Net Amount)
final_forgive_payment_date String 2020-08-25 The date on which SBA initiates payment to lender (our process generally runs at 11:00am EST during Fed processing days
final_forgive_payment_batch String PPY08091 Internal Payment Processing Batch
final_forgive_amount_with_interest Number 910.00 final_forgive_amount - EIDL Advances + Interest accrued over the period of the loan (Funding Date to Payment Date)
payment_status String Payment Sent The payment status of forgiveness request. Possible Values: Payment Sent,Payment Confirmed,Payment Failed
s_form Boolean true Indicates whether the application submitted via 3508S form
adjustments JSON Array   Adjustment array
payment_amount Number 100.00 Total Adjustment amount
payment_date String 2020-11-21 Date on which adjustment payment was initiated by Forgiveness platform
status string Payment Confirmed Adjustment payment status, can have values of Payment Sent or Payment Confirmed for under payment request and Under Review or Eligible for payment for over payment request
payment_batch string PF011224 Payment Batch in which adjustment payment was initiated, applicable for under payment only
payment_confirmed_at string 2020-11-22 Date on which adjustment payment was confirmed by SBA. It gets populated with date when status is Payment Confirmed
document string 09deacc4-a0af-47ec-93fd-a30e9bc45701 Slug id of the adjustment document, applicable for under payment requests only
principal_amount Number 50000.0 Principal amount of adjustment
interest_amount Number 95.83 Interest amount of adjustment
disbursement_date String 2021-03-14 Disbursement date of adjusted payment, applicable for under payment only
reason String Lender Input Error Reason of the payment adjustment, applicable for under payment only
calculation_method String Calculate interest from Disbursement Date to Original Payment Date Calculation method used for payment adjustment, applicable for under payment only
payment_type String Over Payment Reason for payment adjustment, valid values are Under Payment or Over Payment
total_adjustments Number 100.00 Total adjustment amount, will be sum of the all under adjustments for SBA number
naics_code Number 722513 Borrower/Business - Valid 6 digit NAICS code (In prod - 03/05)
ppp_loan_draw Number 1 Indicates whether it’s a first draw or second draw forgiveness , 1 for first draw & 2 for second draw (In prod - 03/05)
forgive_covered_operations_expenditures Number null Covered Operations expenditure (In prod - 03/05)
forgive_covered_property_damage_costs Number null covered property damage cost (In prod - 03/05)
forgive_covered_supplier_costs Number 1000.00 covered supplier cost (In prod - 03/05)
forgive_covered_protection_expenditures Number 1000.00 covered worker protection expenditure (In prod - 03/05)
source Number 1 If the Forgiveness was initiated by Lender, it’s value by 1 else if it was intiiated by borrower (direct forgiveness) its value will be 2
loan_increase Number 1000.00 Any Loan increase which lender did on the Loan after initial Loan approval. This amount is already included in PPP Loan amount
loan_increase_date String 2021-01-09 Date on which increased Loan was disbursed by Lender. Lender will be paid interest on Loan increased amount from this date
created String 2020-07-12 The created date of the Forgiveness request in YYYY-MM-DD

HTTP Response Code: 403

Parameter Name Data Type Sample Value Description
detail String Authentication credentials were not provided. The detail of the 403 error response

HTTP Response Code: 404

Parameter Name Data Type Sample Value Description
detail JSON {
“detail”: “Not found.”,
“status_code”: 404
}
If the forgiveness request is not found

HTTP Response Code: 429

API Call Rate Limits
To maintain reliability and stability within our environments, Forgiveness portal operates with certain API call efficiency guidelines. To ensure effective load balance we continually monitor the API calls to our backend systems and we may throttle requests from developers that are putting unnecessary burden on the system. If the API call rate limit is reached, client will receive an exception. The exception message states: “Request was throttled. Expected available in 1 second”.

Parameter Name Data Type Sample Value Description
detail String Request was throttled. Expected available in 1 second The detail of the 429 error response
status_code Number 429 The HTTP status code

Design Consideration for Client Application

This API provides Status/Details of a specific submitted forgiveness request. Client may choose to use this API in case they would like to get the latest details of a particular forgiveness request.

6. Get Forgiveness Request Details using SBA Number

This API is used for getting details of existing forgiveness request using an SBA Number

Request type: HTTPS

API Endpoint:

GET /api/ppp_loan_forgiveness_requests/?sba_number={sba_number}

Request (Sample)


/api/ppp_loan_forgiveness_requests/?sba_number=9999114733

Request Parameters

Not Applicable (No request body)

Request Path Parameters

Not Applicable

Request Query Parameters

Query Parameter Name Data Type Mandatory/Optional Sample Value Description
sba_number String Mandatory 9999114733 The SBA Number for the etran loan

Request Form Data Parameters

Not Applicable

Response (Sample)


{
    "count": 1,
    "next": null,
    "previous": null,
    "results": [
        {
            "slug": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
            "etran_loan": {
                "slug": "df481fbb-c41f-46f3-b96f-94374d747a8d",
                "bank_notional_amount": 900000.00,
                "sba_number": "9999114733",
                "loan_number": "7777777",
                "entity_name": "Abc Inc",
                "ein": "997114733",
                "funding_date": "2020-07-06",
                "forgive_eidl_amount": 100.00,
                "forgive_eidl_application_number": 123456789,
                "forgive_payroll": 1000.00,
                "forgive_rent": 1000.00,
                "forgive_utilities": 1000.00,
                "forgive_mortgage": 1000.00,
                "address1": "5050 Ritter Road – Suite B",
                "address2": "Mechanicsburg, PA",
                "dba_name": "Abc Inc",
                "organization": {
                    "name": "Abc Bank",
                    "etran_location_id": "string",
                    "slug": "e2f282d3-33e4-408e-9f2d-07a837c894e5"
                },
                "phone_number": "6102342123",
                "forgive_fte_at_loan_application": 10,
                "documents": [
                    {
                        "slug": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
                        "name": "Payroll.pdf",
                        "created_at": "2020-07-06T19:19:04.657Z",
                        "updated_at": "2020-07-06T19:19:04.657Z",
                        "document": "https://lenders-co-operative/../Payroll.pdf",
                        "url": "https://lenders-co-operative/../Payroll.pdf",
                        "etran_loan": "1234567",
                        "document_type": {
                            "id": 1,
                            "name": "Loan Application Supporting Docs (Payroll)",
                            "description": "Loan Application Supporting Docs (Payroll)"
                        }
                    }
                ],
                "status": "Pending Validation",
                "demographics": [
                    {
                        "name": "Jason",
                        "position": "self-employed individual",
                        "veteran_status": "1",
                        "gender": "M",
                        "ethnicity": "H",
                        "races": [
                            {
                                "race": "1"
                            }
                        ]
                    }
                ],
                "forgive_line_6_3508_or_line_5_3508ez": 3999.00,
                "forgive_modified_total": 3999.00,
                "forgive_payroll_cost_60_percent_requirement": 1666.66,
                "forgive_amount": 1666.66,
                "forgive_fte_at_forgiveness_application": 10,
                "forgive_schedule_a_line_1": 1.00,
                "forgive_schedule_a_line_2": 1.00,
                "forgive_schedule_a_line_3_checkbox": true,
                "forgive_schedule_a_line_3": 1.00,
                "forgive_schedule_a_line_4": 1.00,
                "forgive_schedule_a_line_5": 1.00,
                "forgive_schedule_a_line_6": 1.00,
                "forgive_schedule_a_line_7": 1.00,
                "forgive_schedule_a_line_8": 1.00,
                "forgive_schedule_a_line_9": 1.00,
                "forgive_schedule_a_line_10": 6.00,
                "forgive_schedule_a_line_10_checkbox": true,
                "forgive_schedule_a_line_11": 10.00,
                "forgive_schedule_a_line_12": 10.00,
                "forgive_schedule_a_line_13": 1.00,
                "forgive_covered_period_from": "2020-07-06",
                "forgive_covered_period_to": "2020-09-06",
                "forgive_alternate_covered_period_from": "2020-07-06",
                "forgive_alternate_covered_period_to": "2020-09-06",
                "forgive_payroll_schedule": "Weekly",
                "primary_email": "user@example.com",
                "primary_name": "Jason",
                "ez_form": true,
                "no_reduction_in_employees": true,
                "no_reduction_in_employees_and_covid_impact": true,
                "forgive_lender_confirmation": true,
                "forgive_lender_decision": 1,
                "sba_decision": "Fully Approved",
                "approval_date": "2020-08-20",
                "final_forgive_amount": 1000.00,
                "calculated_interest": 10.00,
                "final_forgive_payment": 910.00,
                "final_forgive_payment_date": "2020-08-25",
                "final_forgive_payment_batch": PPY08091,
                "final_forgive_amount_with_interest": 910.00,
                "payment_status": "Payment Sent",
                "s_form": false,
				"adjustments": [
                   {
                       "payment_amount": 50095.83,
                       "payment_date": "2020-11-21",
                       "status": "Payment Confirmed",
                       "payment_batch": "PF011224",
                       "payment_confirmed_at": "2020-11-22",
		       "document": "28328262-a0ea-4f85-81da-60a9191e714f",
                        "principal_amount": 50000.0,
                        "interest_amount": 95.83,
                        "disbursement_date": "2021-03-14",
                        "reason": "Lender Input Error",
                        "calculation_method": "Calculate interest from Disbursement Date to Original Payment Date"
			"payment_type": "Under Payment"
                      },
				  {
                        "payment_amount": 100000.0,
                        "payment_date": "2021-09-19",
                        "status": "Eligible for payment",
                        "payment_batch": "PF011224",
                        "payment_confirmed_at": "2021-09-20",
                        "document": null,
                        "principal_amount": 100000.0,
                        "interest_amount": 0.0,
                        "disbursement_date": null,
                        "reason": "None",
                        "calculation_method": null,
                        "payment_type": "Over Payment"
                    },
               ],
               "total_adjustments": 100.00,
	       "naics_code": null,
               "ppp_loan_draw": 1,
               "forgive_covered_operations_expenditures": null,
               "forgive_covered_property_damage_costs": null,
               "forgive_covered_supplier_costs": null,
               "forgive_covered_protection_expenditures": null,
			   "source": 2,
	     	"loan_increase": 1000.00, 
	       "loan_increase_date": "2020-07-09" 
            },
            "created": "07/02/2020"
        }
    ]
}

Response Parameters

HTTP Response Code: 200

Parameter Name Data Type Sample Value Description
count Number 1 The count of the records returned in response
next String null The URI of the next set of forgiveness requests to be fetched
previous String null The URI of the previous set of forgiveness requests to be fetched
results JSON Array    
slug UUID 3fa85f64-5717-4562-b3fc-2c963f66afa6 The UUID of the Forgiveness request
borrower_name String Jason The name of the borrower
etran_loan JSON Object    
slug UUID df481fbb-c41f-46f3-b96f-94374d747a8d The UUID of the etran loan request
bank_notional_amount Number 900000.00 The PPP loan amount
sba_number String 9999114733 The SBA loan number
loan_number String 7777777 The Lender’s loan number
entity_name String Abc Inc The entity name of the borrower
ein String 997114733 The SSN or Business TIN of the borrower
funding_date String 2020-07-06 PPP loan Disbursement date in YYYY-MM-DD
forgive_eidl_amount Number 100.00 The EIDL advance. This will be Lender provided till SBA payment batch runs. Once the SBA payment processing is done, this will be populated with SBA EIDL advance
forgive_eidl_application_number Number 123456789 Lender provided EIDL application number
forgive_payroll Number 1000.00 Payroll Cost
forgive_rent Number 1000.00 Business Rent or Lease Payments
forgive_utilities Number 1000.00 Business Utility Payments
forgive_mortgage Number 1000.00 Business Mortgage Interest Payments
address1 String 5050 Ritter Road – Suite B Business Address Line 1
address2 String Mechanicsburg, PA Business Address Line 2
dba_name String Abc Inc The DBA Name or Trade Name of the borrower
organization JSON Object    
name String Abc Bank Name of the Lender
etran_location_id String Location ID Location ID of Lender in SBA System
slug UUID e2f282d3-33e4-408e-9f2d-07a837c894e5 The UUID of the Lender in the SBA System
phone_number String 6102342123 The Business Phone Number of the borrower
forgive_fte_at_loan_application Number 10 The full time employees at the time of loan application, decimal values are not allowed
documents JSON Array    
slug UUID 5ae02dd4-a7f7-4c40-90fc-20cba32e8de0 The UUID of the document
name String Payroll.pdf The name of the document
created_at String 2020-07-06T17:17:58.218Z The created date time of the document in UTC
updated_at String 2020-07-06T17:17:58.218Z The updated date time of the document in UTC
document String https://lenders-co-operative/../Payroll.pdf Short lived direct access to download document
url String https://lenders-co-operative/../Payroll.pdf Permalink for document on server
etran_loan String 1234567 The UUID(Slug) of the etran loan which came as part of the forgiveness request creation. This ensures the document gets attached to the corresponding forgiveness request
document_type JSON Object    
id Number 1 The id of the document type as defined in SBA System
name String Loan Application Supporting Docs (Payroll) The name of the document type
description String Loan Application Supporting Docs (Payroll) The description of the document type
status String Pending Validation This value indicates the overall phase of the Forgiveness decision – up to and including the Payment status (including: Pending Validation, Under Review, Fully Approved, Not Approved, Partially Approved, Lender Additional Info Needed, Payment Sent, Payment Confirmed, Payment Failed)
demographics JSON Array    
name String Jason The Principal name
position String self-employed individual Identify the Principal’s position; for example, self-employed individual; independent contractor; sole proprietor; general partner; owner; officer; director; member; or key employee.
veteran_status String 1 The veteran status of the borrower. Possible Values: [ 1, 2, 3, 4, X ]
1=Non-Veteran; 2=Veteran; 3=Service-Disabled Veteran; 4=Spouse of Veteran; X=Not Disclosed
gender String M The gender of the borrower. Possible Values: [M, F, X ]
M=Male; F=Female; X=Not Disclosed
ethnicity String H The ethnicity of the borrower. Possible Values: [H, N, X ]
H=Hispanic or Latino; N=Not Hispanic or Latino; X=Not Disclosed
races JSON Array    
race String 1 The race of the borrower. Possible Values: [1, 2, 3, 4, 5, X ]
1=American Indian or Alaska Native; 2=Asian; 3=Black or African-American; 4=Native Hawaiian or Pacific Islander; 5=White; X=Not Disclosed
forgive_line_6_3508_or_line_5_3508ez Number 3999.00 Line 6 of 3508 or line 5 of 3508 EZ
forgive_modified_total Number 3999.00 Forgiveness Amount calculation line 8
forgive_payroll_cost_60_percent_requirement Number 1666.66 Payroll cost 60% requirement
forgive_amount Number 1666.66 Forgiveness Amount
forgive_fte_at_forgiveness_application Number 10 Full time employees at the time of forgiveness application, decimal values are not allowed
forgive_schedule_a_line_1 Number 1.00 Cash Compensation (Box 1) from PPP Schedule A Worksheet, Table 1
forgive_schedule_a_line_2 Number 1.00 Average FTE (Box 2) from PPP Schedule A Worksheet, Table 1
forgive_schedule_a_line_3_checkbox Boolean true Salary/Hourly Wage Reduction (Box 3) from PPP Schedule A Worksheet, Table 1: If the average annual salary or hourly wage for each employee listed on the PPP Schedule A Worksheet, Table 1 during the Covered Period or the Alternative Payroll Covered Period was at least 75% of such employee’s average annual salary or hourly wage between January 1, 2020 and March 31, 2020, then set to true and put the value as 0 for field forgive_schedule_a_line_3
forgive_schedule_a_line_3 Number 1.00 Salary/Hourly Wage Reduction (Box 3) from PPP Schedule A Worksheet, Table 1
forgive_schedule_a_line_4 Number 1.00 Cash Compensation (Box 4) from PPP Schedule A Worksheet, Table 2
forgive_schedule_a_line_5 Number 1.00 Average FTE (Box 5) from PPP Schedule A Worksheet, Table 2
forgive_schedule_a_line_6 Number 1.00 Total amount paid or incurred by Borrower for employer contributions for employee health insurance
forgive_schedule_a_line_7 Number 1.00 Total amount paid or incurred by Borrower for employer contributions to employee retirement plans
forgive_schedule_a_line_8 Number 1.00 Total amount paid or incurred by Borrower for employer state and local taxes assessed on employee compensation
forgive_schedule_a_line_9 Number 1.00 Total amount paid to owner-employees/self-employed individual/general partners
forgive_schedule_a_line_10 Number 6.00 Total Payroll Costs (add lines 1, 4, 6, 7, 8, and 9)
forgive_schedule_a_line_10_checkbox Boolean true If you satisfy FTE Reduction Safe Harbor 2 (see PPP Schedule A Worksheet), set to true
forgive_schedule_a_line_11 Number 10.00 Average FTE during the Borrower’s chosen reference period
forgive_schedule_a_line_12 Number 10.00 Total Average FTE
forgive_schedule_a_line_13 Number 1.00 FTE Reduction Quotient (divide line 12 by line 11) or enter 1.0 if any of the above criteria are met.
This field supports upto 9 decimals.
forgive_covered_period_from String 2020-07-06 The covered period start date in YYYY-MM-DD
forgive_covered_period_to String 2020-09-06 The covered period end date in YYYY-MM-DD
forgive_alternate_covered_period_from String 2020-07-06 The alternate covered period start date in YYYY-MM-DD
forgive_alternate_covered_period_to String 2020-09-06 The alternate covered period end date in YYYY-MM-DD
forgive_payroll_schedule String Weekly The payroll schedule. Possible Values: “Weekly”,”Biweekly”,”Twice Per Month”,”Monthly”,”Other”. (Other is free form to match 3508 options)
primary_email String user@example.com The primary contact persons email
primary_name String jason The primary contact for the loan
ez_form Boolean true Indicates whether the application submitted via EZ form
no_reduction_in_employees Boolean true No reduction in employees or average paid hours: If you have not reduced the number of employees or the average paid hours of your employees between January 1, 2020 and the end of the Covered Period, set to true
no_reduction_in_employees_and_
covid_impact
Boolean true FTE Reduction Safe Harbor 1: If you were unable to operate between February 15, 2020, and the end of the Covered Period at the same level of business activity as before February 15, 2020 due to compliance with requirements established or guidance issued between March 1, 2020 and December 31, 2020, by the Secretary of Health and Human Services, the Director of the Centers for Disease Control and Prevention, or the Occupational Safety and Health Administration related to the maintenance of standards for sanitation, social distancing, or any other worker or customer safety requirement related to COVID-19, set to true
forgive_lender_confirmation Boolean true Confirmation from lender that they reviewed borrowers forgiveness application before submitting to SBA. Only ‘true’ value submits the request successfully
forgive_lender_decision Number 1 Final lender decision regarding forgiveness of this PPP loan.
Valid Values (API needs to pass integer value associated with the decision):
APPROVED_IN_FULL = 0
APPROVED_IN_PART = 1
DENIED = 2
sba_decision String Fully Approved This value will always indicate the status of the SBA Decision only. In this case, Fully Approved, Partially Approved, Not Approved. This may not include other reviews and approvals required for payment to the Lender.
approval_date String 2020-08-20 The date on which Forgiveness application was decisioned by SBA
final_forgive_amount Number 1000.00 The final Forgiveness amount approved SBA. You will only see this populate once we run the payment processing jobs.
calculated_interest Number 10.00 The calculated interest on ther Forgiveness amount
final_forgive_payment Number 910.00 This is the final Forgiveness payment (Principal - EIDL Advance) + Interest Due on Net Amount)
final_forgive_payment_date String 2020-08-25 The date on which SBA initiates payment to lender (our process generally runs at 11:00am EST during Fed processing days
final_forgive_payment_batch String PPY08091 Internal Payment Processing Batch
final_forgive_amount_with_interest Number 910.00 final_forgive_amount - EIDL Advances + Interest accrued over the period of the loan (Funding Date to Payment Date)
payment_status String Payment Sent The payment status of forgiveness request. Possible Values: Payment Sent,Payment Confirmed,Payment Failed
s_form Boolean true Indicates whether the application submitted via 3508S form
adjustments JSON Array   Adjustment array
payment_amount Number 100.00 Total Adjustment amount
payment_date String 2020-11-21 Date on which adjustment payment was initiated by Forgiveness platform
status string Payment Confirmed Adjustment payment status, can have values of Payment Sent or Payment Confirmed for under payment request and Under Review or Eligible for payment for over payment request
payment_batch string PF011224 Payment Batch in which adjustment payment was initiated, applicable for under payment only
payment_confirmed_at string 2020-11-22 Date on which adjustment payment was confirmed by SBA. It gets populated with date when status is Payment Confirmed
document string 09deacc4-a0af-47ec-93fd-a30e9bc45701 Slug id of the adjustment document, applicable for under payment requests only
principal_amount Number 50000.0 Principal amount of adjustment
interest_amount Number 95.83 Interest amount of adjustment
disbursement_date String 2021-03-14 Disbursement date of adjusted payment, applicable for under payment only
reason String Lender Input Error Reason of the payment adjustment, applicable for under payment only
calculation_method String Calculate interest from Disbursement Date to Original Payment Date Calculation method used for payment adjustment, applicable for under payment only
payment_type String Over Payment Reason for payment adjustment, valid values are Under Payment or Over Payment
total_adjustments Number 100.00 Total adjustment amount, will be sum of the all under adjustments for SBA number
naics_code Number 722513 Borrower/Business - Valid 6 digit NAICS code (In prod - 03/05)
ppp_loan_draw Number 1 Indicates whether it’s a first draw or second draw forgiveness , 1 for first draw & 2 for second draw (In prod - 03/05)
forgive_covered_operations_expenditures Number null Covered Operations expenditure (In prod - 03/05)
forgive_covered_property_damage_costs Number null covered property damage cost (In prod - 03/05)
forgive_covered_supplier_costs Number 1000.00 covered supplier cost (In prod - 03/05)
forgive_covered_protection_expenditures Number 1000.00 covered worker protection expenditure (In prod - 03/05)
source Number 1 If the Forgiveness was initiated by Lender, it’s value by 1 else if it was intiiated by borrower (direct forgiveness) its value will be 2
loan_increase Number 1000.00 Any Loan increase which lender did on the Loan after initial Loan approval. This amount is already included in PPP Loan amount
loan_increase_date String 2020-07-09 Date on which increased Loan was disbursed by Lender. Lender will be paid interest on Loan increased amount from this date
created String 2020-07-12 The created date of the Forgiveness request in YYYY-MM-DD

HTTP Response Code: 403

Parameter Name Data Type Sample Value Description
detail String Authentication credentials were not provided. The detail of the 403 error response

HTTP Response Code: 429

API Call Rate Limits
To maintain reliability and stability within our environments, Forgiveness portal operates with certain API call efficiency guidelines. To ensure effective load balance we continually monitor the API calls to our backend systems and we may throttle requests from developers that are putting unnecessary burden on the system. If the API call rate limit is reached, client will receive an exception. The exception message states: “Request was throttled. Expected available in 1 second”.

Parameter Name Data Type Sample Value Description
detail String Request was throttled. Expected available in 1 second The detail of the 429 error response
status_code Number 429 The HTTP status code

Design Consideration for Client Application

This API provides Status/Details of a specific submitted forgiveness request. Client may choose to use this API in case they would like to get latest details of a particular forgiveness request.

7. Delete Forgiveness Request

This API is used for deleting the existing Forgiveness request

Please note:

Request type: HTTPS

API Endpoint:

DELETE /api/ppp_loan_forgiveness_requests/{slug}/

Request (Sample)


/api/ppp_loan_forgiveness_requests/3fa85f64-5717-4562-b3fc-2c963f66afa6/

Request Parameters

Not Applicable (No request body)

Request Path Parameters

Path Parameter Name Data Type Mandatory/Optional Sample Value Description
slug UUID Mandatory 3fa85f64-5717-4562-b3fc-2c963f66afa6 The UUID of the forgiveness request

Request Query Parameters

Not Applicable

Request Form Data Parameters

Not Applicable

HTTP Response Code: 204

The request was successfully processed

HTTP Response Code: 403

Parameter Name Data Type Sample Value Description
detail String Authentication credentials were not provided. The detail of the 403 error response

HTTP Response Code: 404

Parameter Name Data Type Sample Value Description
detail String Not found The detail of the 404 error response

HTTP Response Code: 429

API Call Rate Limits
To maintain reliability and stability within our environments, Forgiveness portal operates with certain API call efficiency guidelines. To ensure effective load balance we continually monitor the API calls to our backend systems and we may throttle requests from developers that are putting unnecessary burden on the system. If the API call rate limit is reached, client will receive an exception. The exception message states: “Request was throttled. Expected available in 1 second”.

Parameter Name Data Type Sample Value Description
detail String Request was throttled. Expected available in 1 second The detail of the 429 error response
status_code Number 429 The HTTP status code

Design Consideration for Client Application

Client may use this API to delete forgiveness request and supporting documents. For any reason, if client would like to delete Forgiveness request, try to call this API as soon as possible, before SBA starts reviewing it. Once SBA starts reviewing a request, Forgiveness cannot be deleted.

8. Get Forgiveness Messages

During review of a Forgiveness request, SBA may require additional information from Lender or Lender may have questions for SBA. This API is used to retrieve all messages.

Request type: HTTPS

API Endpoint:

GET /api/ppp_loan_forgiveness_messages/

Request (Sample)


/api/ppp_loan_forgiveness_messages/

Request Parameters

Not Applicable (No request body)

Request Path Parameters

Not Applicable

Request Query Parameters

Query Parameter Name Data Type Mandatory/Optional Sample Value Description
sba_number String Optional 9999114733 sba loan number
is_complete Boolean Optional true false: Message has not been replied by the lender.
true: Message has been replied by the lender.
page Number Optional 1 The page number of the records to be fetched (for pagination)

Form Data Request Parameters

Not Applicable

Response (Sample)


{
    "count": 1,
    "next": null,
    "previous": null,
    "results": [
        {
            "sba_number": "9999114733",
            "subject": "Need Attention - Payroll Document",
            "ticket": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
            "messages": [
                {
                    "sent_at": "2020-07-10T16:48:37.820Z",
                    "content": "Missing supporting payroll document, please upload"
                }
            ],
            "is_complete": true,
            "needs_attention": false
        }
    ]
}

Response Parameters

HTTP Response Code: 200

Parameter Name Data Type Sample Value Description
count Number 1 The total count of the records
next String null The URI of the next set of forgiveness request messages to be fetched
previous String null The URI of the previous set of forgiveness request messages to be fetched
results JSON Array    
sba_number Number 9999114733 The sba loan number. This will be null for Generic/Other messages (not requiring documents).
subject String Need Attention - Payroll Document The subject line of the ticket
ticket UUID c492c620-1f86-4a4d-a3b1-6c69ab2e44ca The unique Id of the ticket. This will be null for Generic/Other messages (not requiring documents).
messages JSON Array    
sent_at String 2020-07-10T16:48:37.820Z The date time of the message in UTC
content String Missing supporting payroll document, please upload The message content
is_complete Boolean true false: Message has not been replied by the Lender.
true: Message has been replied and completed by the Lender.
needs_attention Boolean true false: Response by Lender is not past due.
true: Response by Lender is past due.

HTTP Response Code: 403

Parameter Name Data Type Sample Value Description
detail String Authentication credentials were not provided. The detail of the 403 error response

HTTP Response Code: 429

API Call Rate Limits
To maintain reliability and stability within our environments, Forgiveness portal operates with certain API call efficiency guidelines. To ensure effective load balance we continually monitor the API calls to our backend systems and we may throttle requests from developers that are putting unnecessary burden on the system. If the API call rate limit is reached, client will receive an exception. The exception message states: “Request was throttled. Expected available in 1 second”.

Parameter Name Data Type Sample Value Description
detail String Request was throttled. Expected available in 1 second The detail of the 429 error response
status_code Number 429 The HTTP status code

Design Consideration for Client Application

Client may like to call this API to retrieve all messages for all their Forgiveness requests. If client is only looking for messages which Lender has not replied back, look for field - “is_complete” having value of false. This API supports pagination functionality and if client is designing a UI or batch process to call this API, they may like to have page up and page down feature. Every page returns 50 maximum records.

9. Get Forgiveness Message using Forgiveness request uuid

During review of a Forgiveness request, SBA may require additional information from Lender. This API is used to retrieve messages sent by SBA to Lender for a specific Forgiveness UUID.

Request type: HTTPS

API Endpoint:

GET /api/ppp_loan_forgiveness_messages/{slug}/

Request (Sample)


/api/ppp_loan_forgiveness_messages/3fa85f64-5717-4562-b3fc-2c963f66afa6/

Request Parameters

Not Applicable (No request body)

Request Path Parameters

Path Parameter Data Type Mandatory/Optional Sample Value Description
slug UUID Mandatory 3fa85f64-5717-4562-b3fc-2c963f66afa6 The UUID of the forgiveness request

Request Query Parameters

Not Applicable

Form Data Request Parameters

Not Applicable

Response (Sample)


{
    "count": 1,
    "next": null,
    "previous": null,
    "results": [
        {
            "sba_number": "9999114733",
            "subject": "Need Attention - Payroll Document",
            "ticket": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
            "messages": [
                {
                    "sent_at": "2020-07-10T17:17:49.608Z",
                    "content": "Missing supporting payroll document, please upload"
                }
            ],
            "is_complete": true,
            "needs_attention": false
        }
    ]
}

Response Parameters

HTTP Response Code: 200

Parameter Name Data Type Sample Value Description
count Number 1 The total count of the records
next String null The URI of the next set of forgiveness request messages to be fetched
previous String null The URI of the previous set of forgiveness request messages to be fetched
results JSON Array    
sba_number String 9999114733 The sba loan number
subject String Need Attention - Payroll Document The subject line of the ticket
ticket UUID c492c620-1f86-4a4d-a3b1-6c69ab2e44ca The unique Id of the forgiveness request
messages JSON Array    
sent_at String 2020-07-10T16:48:37.820Z The date time of the message in UTC
content String Missing supporting payroll document, please upload The message content
is_complete Boolean true false: Message has not been replied by the lender.
true: Message has been replied by the lender.
needs_attention Boolean true false: SLA for response by Lender has not breached.
true: Response by Lender is past due.

HTTP Response Code: 403

Parameter Name Data Type Sample Value Description
detail String Authentication credentials were not provided. The detail of the 403 error response

HTTP Response Code: 429

API Call Rate Limits
To maintain reliability and stability within our environments, Forgiveness portal operates with certain API call efficiency guidelines. To ensure effective load balance we continually monitor the API calls to our backend systems and we may throttle requests from developers that are putting unnecessary burden on the system. If the API call rate limit is reached, client will receive an exception. The exception message states: “Request was throttled. Expected available in 1 second”.

Parameter Name Data Type Sample Value Description
detail String Request was throttled. Expected available in 1 second The detail of the 429 error response
status_code Number 429 The HTTP status code

Design Consideration for Client Application

Client may like to call this API to retrieve messages sent by SBA to Lender for a particular forgiveness request.

10. Get Forgiveness Message using SBA Number

During review of a Forgiveness request, SBA may require additional information from Lender. This API is used to retrieve messages sent by SBA to Lender for a specific SBA number.

Request type: HTTPS

API Endpoint:

GET /api/ppp_loan_forgiveness_messages/?sba_number={sba_number}

Request (Sample)


/api/ppp_loan_forgiveness_messages/?sba_number=9999114733

Request Parameters

Not Applicable (No request body)

Request Path Parameters

Not Applicable

Request Query Parameters

Query Parameter Name Data Type Mandatory/Optional Sample Value Description
sba_number String Mandatory 9999114733 The SBA Number for the etran loan

Request Form Data Parameters

Not Applicable

Response (Sample)


{
    "count": 1,
    "next": null,
    "previous": null,
    "results": [
        {
            "sba_number": "9999114733",
            "subject": "Need Attention - Payroll Document",
            "ticket": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
            "messages": [
                {
                    "sent_at": "2020-07-10T17:17:49.608Z",
                    "content": "Missing supporting payroll document, please upload"
                }
            ],
            "is_complete": true,
            "needs_attention": false
        }
    ]
}

Response Parameters

HTTP Response Code: 200

Parameter Name Data Type Sample Value Description
count Number 1 The total count of the records
next String null The URI of the next set of forgiveness request messages to be fetched
previous String null The URI of the previous set of forgiveness request messages to be fetched
results JSON Array    
sba_number String 9999114733 The sba loan number
subject String Need Attention - Payroll Document The subject line of the ticket
ticket UUID c492c620-1f86-4a4d-a3b1-6c69ab2e44ca The unique Id of the forgiveness request
messages JSON Array    
sent_at String 2020-07-10T16:48:37.820Z The date time of the message in UTC
content String Missing supporting payroll document, please upload The message content
is_complete Boolean true false: Message has not been replied by the lender.
true: Message has been replied by the lender.
needs_attention Boolean true false: SLA for response by Lender has not breached.
true: Response by Lender is past due.

HTTP Response Code: 403

Parameter Name Data Type Sample Value Description
detail String Authentication credentials were not provided. The detail of the 403 error response

HTTP Response Code: 429

API Call Rate Limits
To maintain reliability and stability within our environments, Forgiveness portal operates with certain API call efficiency guidelines. To ensure effective load balance we continually monitor the API calls to our backend systems and we may throttle requests from developers that are putting unnecessary burden on the system. If the API call rate limit is reached, client will receive an exception. The exception message states: “Request was throttled. Expected available in 1 second”.

Parameter Name Data Type Sample Value Description
detail String Request was throttled. Expected available in 1 second The detail of the 429 error response
status_code Number 429 The HTTP status code

Design Consideration for Client Application

Client may like to call this API to retrieve messages sent by SBA to Lender for a particular forgiveness request.

11. Reply to SBA Message

During review of a Forgiveness request, SBA may require additional information from lender. This API is used by lender to respond back to SBA by attaching requested documents.

**Important:
A. This API requires the data and the document file attachment to be sent as form parameters. The Content-type must be multipart/form-data
B. This API supports multiple documents submission in single API call. For multiple documents reply, use a single content field in the request
C. This API can also be used in conjunction with POST /api/ppp_loan_documents/ in case initial documents were never submitted with decision and status went to Lender Additional Info Needed
D. Other messages (not requiring documents) between Lender and SBA can only be replied back via Portal - Inbox **

Request type: HTTPS

API Endpoint:

PUT /api/ppp_loan_forgiveness_message_reply/{slug}/
Content-type: multipart/form-data

Request (Sample)


/api/ppp_loan_forgiveness_message_reply/3fa85f64-5717-4562-b3fc-2c963f66afa6/

Request Parameters

Not Applicable (No request body)

Request Path Parameters

Path Parameter Data Type Mandatory/Optional Sample Value Description
slug UUID Mandatory 3fa85f64-5717-4562-b3fc-2c963f66afa6 The UUID of the forgiveness request

Request Query Parameters

Not Applicable

Request Form Data Parameters

Parameter Name Data Type Mandatory/Optional Sample Value Description
document_type Number Optional 1 The type of document uploaded. Possible Values can be found by calling the GET API: 1. Get Document Types
document_name String Optional Payroll.pdf The name of the document
document File Optional Payroll.pdf Actual file to be uploaded. The file that needs to be part of the multipart/form-data request. Allowed file types include .pdf,.xls,.xlsx,.csv,.doc,.docx,.jpg,.jpeg,.png
document_type and document_name are mandatory if document is uploaded.
content String Mandatory Supporting payroll document as requested The message content of the reply to be sent to SBA

Response (Sample)


{
    "success": true,
    "msg": "The document was successfully uploaded"
}

Response Parameters

HTTP Response Code: 200

Parameter Name Data Type Sample Value Description
success Boolean true Indicates whether the reply was successfully sent to SBA.
msg String The document was successfully uploaded Detail message of the 200 response

HTTP Response Code: 400

Parameter Name Data Type Sample Value Description
success Boolean true Indicates whether the request succeeded
msg String Could not save message. Please verify your data and send again. Detail message of the 400 response

HTTP Response Code: 403

Parameter Name Data Type Sample Value Description
detail String Authentication credentials were not provided. The detail of the 403 error response

HTTP Response Code: 429

API Call Rate Limits
To maintain reliability and stability within our environments, Forgiveness portal operates with certain API call efficiency guidelines. To ensure effective load balance we continually monitor the API calls to our backend systems and we may throttle requests from developers that are putting unnecessary burden on the system. If the API call rate limit is reached, client will receive an exception. The exception message states: “Request was throttled. Expected available in 1 second”.

Parameter Name Data Type Sample Value Description
detail String Request was throttled. Expected available in 1 second The detail of the 429 error response
status_code Number 429 The HTTP status code

Design Consideration for Client Application

This API needs the forgiveness request slug as path parameter in input. Client would have to call Get Forgiveness Message API to get details of addional document/s SBA is asking Lender to provide. If Lender wants to reply back with multiple documents, they must include all of them in single API call.Lender also has an option to use POST /api/ppp_loan_documents/ to send all additional documents and finally reply back with ppp_loan_forgiveness_message_reply API confirming SBA to resume decision review

12. Validate/Lookup Disbursed PPP Loan

This endpoint allows Lender/Vendor to validate/lookup disbursed PPP Loans

Request type: HTTPS

API Endpoint:

GET /api/ppp_loan_validations/

Request (Sample)


/api/ppp_loan_validations/

Request Parameters

Not Applicable (No request body)

Request Path Parameters

Not Applicable

Request Query Parameters

Query Parameter Name Data Type Mandatory/Optional Sample Value Description
sba_number String Optional 9999114733 The SBA Number for the etran loan

Request Form Data Parameters

Not Applicable

Response (Sample)


{
    "count": 1,
    "next": null,
    "previous": null,
    "results": [
        {
            "organization_name": "Xyz Bank",
            "bank_notional_amount": 900000.0,
            "sba_number": "9999114733",
            "entity_name": "Abc Inc",
            "ein": "997114733",
            "funding_date": "2020-07-06",
	    "disbursement_date": "2020-08-01",
	    "tin_type": 0,
	    "ppp_loan_draw": 1,
            "forgive_eidl_amount": 100.0,
            "eidl_details":"[{\"applicationnmb\":3601351708,\"processdt\":\"08/10/2020\",\"transactionamt\":100}]",
            "covid_flag": "pass",
	    "sba_sample_indicator": true,
	    "hold_details": "[{\"Code\":1,\"Description\":\"Criminal Record\",\"StartDate\":\"09/19/2020\",\"EndDate\":null,\"LenderDescription\":\"Criminal Record - Criminal   
	    Record identified in public records - Potential eligibility issue (Lender Can Certify)\",\"LenderAction\":\"\"}, {\"Code\":12,\"Description\":\"SBA Franchise 
	    Directory Review\",\"StartDate\":\"09/19/2020\",\"EndDate\":\"01/26/2021\",\"LenderDescription\":\"SBA Franchise Directory Review - Borrower identified as franchise 
	    in Etran but cannot be identified on Franchise Directory - Potential eligibility issue (Lender Can Not Certify - Must Upload Documentation)]"
        }
    ]
}

Response Parameters

HTTP Response Code: 200

Parameter Name Data Type Sample Value Description
count Number 1 The count of the records returned in response
next String null The URI of the next set of disbursed PPP loans to be fetched
previous String null The URI of the previous set of disbursed PPP loans to be fetched
results JSON Array    
organization_name String Xyz Bank The name of organization.
bank_notional_amount Number 900000.00 The PPP loan amount
sba_number String 9999114733 The SBA loan number
entity_name String Abc Inc The entity name of the borrower
ein String 997114733 The SSN or Business TIN of the borrower
funding_date String 2020-07-06 The funding date of the loan as per etran, in YYYY-MM-DD. This may not be same as lender’s Loan disbursement date
disbursement_date String 2020-08-01 The disbursement date of the loan as updated by Lender in etran, in YYYY-MM-DD.
tin_type Number 0 Borrower used EIN or SSN for Loan - Borrower/Business - EIN=0, SSN=1
ppp_loan_draw Number 1 Loan is part of First draw (1) or second draw (2)
forgive_eidl_amount Number 100.00 The EIDL advance from SBA system of record.
eidl_details String JSON Array The EIDL amount transaction details from SBA system of record. We are storing raw JSON as string. So, this would need to be converted to JSON in order to parse.
covid_flag string pass Flag which determines whether revenue reduction document is required from Borrower for 2nd draw Loans of <=150K. Valid values - fail means document is required, pass means document is not required, null means covid score is not applicable
sba_sample_indicator Boolean true Whether PPP Loan is in sample for likely review as determined by SBA
hold_details String “Code":1,"Description":"Criminal Record","StartDate":"09/19/2020","EndDate":null,"LenderDescription":"Criminal Record - Criminal Record identified in public records - Potential eligibility issue (Lender Can Certify) Details of all SBA authorized holds which are on a Loan

HTTP Response Code: 403

Parameter Name Data Type Sample Value Description
detail String Authentication credentials were not provided. The detail of the 403 error response

HTTP Response Code: 429

API Call Rate Limits
To maintain reliability and stability within our environments, Forgiveness portal operates with certain API call efficiency guidelines. To ensure effective load balance we continually monitor the API calls to our backend systems and we may throttle requests from developers that are putting unnecessary burden on the system. If the API call rate limit is reached, client will receive an exception. The exception message states: “Request was throttled. Expected available in 1 second”.

Parameter Name Data Type Sample Value Description
detail String Request was throttled. Expected available in 1 second The detail of the 429 error response
status_code Number 429 The HTTP status code

Design Consideration for Client Application

This API can be used by Lender/Vendor to lookup disbursed loan data. This API supports pagination functionality and if client is designing a UI or batch process to call this API, they may like to have page up and page down feature. Every page returns 50 maximum record.Disbursed Loans will be added/updated once a day.

13. Get All Forgiveness Documents

This endpoint allows Lender/Vendor to get all the documents uploaded for the forgiveness request.These documents include Lender provided and SBA generated notification letters.
Document expiry is valid for 15 seconds based on security guidelines agreement with SBA

Vendors/Lenders may only like to download documents which SBA provided (like payment confirmation or loan review etc.), since they would already have Lender/borrower provided documents in their platform
Documents are sorted by latest documents first which likely will be SBA documents

Request type: HTTPS

API Endpoint:

GET /api/ppp_loan_documents/

Request (Sample)


/api/ppp_loan_documents/

Request Parameters

Not Applicable (No request body)

Request Path Parameters

Not Applicable

Request Query Parameters

Query Parameter Name Data Type Mandatory/Optional Sample Value Description
sba_number String Optional 9999114733 The SBA Number for which the documents need to be fetched
name String Optional Payroll The name of the document. This can be used as a search keyword

Request Form Data Parameters

Not Applicable

Response (Sample)


{
	"count": 1,
	"next": null,
	"previous": null,
	"results": [
		{
			"slug": "5ae02dd4-a7f7-4c40-90fc-20cba32e8de0",
			"name": "Payroll.pdf",
			"created_at": "2020-07-06T17:50:43.369Z",
			"updated_at": "2020-07-06T17:50:43.369Z",
			"document": "https://lenders-co-operative/../Payroll.pdf",
			"url": "https://lenders-co-operative/../Payroll.pdf",
			"etran_loan": "df481fbb-c41f-46f3-b96f-94374d747a8d",
			"document_type": {
			"id": 1,
			"name": "Loan Application Supporting Docs (Payroll)",
			"description": "Loan Application Supporting Docs (Payroll)"
			}
		}
	]
}

Response Parameters

HTTP Response Code: 200

Parameter Name Data Type Sample Value Description
count Number 1 The count of the records returned in response
next String null The URI of the next set of documents to be fetched
previous String null The URI of the previous set of documents to be fetched
results JSON Array    
slug UUID 5ae02dd4-a7f7-4c40-90fc-20cba32e8de0 The UUID of the document
name String Payroll.pdf The name of the document
created_at String 2020-07-06T17:17:58.218Z The created date time of the document in UTC
updated_at String 2020-07-06T17:17:58.218Z The updated date time of the document in UTC
document String https://lenders-co-operative/../Payroll.pdf The short lived URL of the document on the server. This has an expiry of 15 seconds
url String https://lenders-co-operative/../Payroll.pdf Permalink for document on server
etran_loan String df481fbb-c41f-46f3-b96f-94374d747a8d The UUID(Slug) of the etran loan which came as part of the forgiveness request creation. This ensures the document gets attached to the corresponding forgiveness request
document_type JSON Object    
id Number 1 The id of the document type as defined in SBA System
name String Loan Application Supporting Docs (Payroll) The name of the document type
description String Loan Application Supporting Docs (Payroll) The description of the document type

HTTP Response Code: 403

Parameter Name Data Type Sample Value Description
detail String Authentication credentials were not provided. The detail of the 403 error response

HTTP Response Code: 429

API Call Rate Limits
To maintain reliability and stability within our environments, Forgiveness portal operates with certain API call efficiency guidelines. To ensure effective load balance we continually monitor the API calls to our backend systems and we may throttle requests from developers that are putting unnecessary burden on the system. If the API call rate limit is reached, client will receive an exception. The exception message states: “Request was throttled. Expected available in 1 second”.

Parameter Name Data Type Sample Value Description
detail String Request was throttled. Expected available in 1 second The detail of the 429 error response
status_code Number 429 The HTTP status code

Design Consideration for Client Application

This API can be used with Optional parameter sba_number and/or name. We can use both the parameters together for narrow down results. This API supports pagination functionality and if client is designing a UI or batch process to call this API, they may like to have page up and page down feature. Every page returns 500 maximum records
For the payment confirmation letter, document id is 32 and document name is “Payment Confirmation”
For the payment adjustment letter, document id is 37 and document name is “Payment Correction Confirmation”
When a forgiveness decision goes for SBA review(Lender Additional Info Needed), document id is 34 and document name is “SBA Correspondence - All documents”

14. Get Direct Forgiveness details

This endpoint allows Lender/Vendor to get all the direct forgiveness requests and its details which are submitted directly by borrowers. If no status parameter is selected, this API will return pending and failed validation requests only.

Request type: HTTPS

API Endpoint:

GET /api/direct_forgiveness_requests/

Request (Sample)


direct_forgiveness_requests/?page=1

Request Parameters

Not Applicable (No request body)

Request Path Parameters

Not Applicable

Request Query Parameters

Query Parameter Name Data Type Mandatory/Optional Sample Value Description
page Number Optional 1 The page number of the records to be fetched (for pagination)
status string Optional pending Borrower’s direct forgiveness status based on lender action. Valid values of approved, rejected, borrower_correction, failed_validation, all
page_size Number Optional 1000 Maximum number of records that can be fetched per page, default is 100 and max allowed is 1000

Request Form Data Parameters

Not Applicable

Response (Sample)


{
    "count": 2,
    "next": null,
    "previous": null,
    "results": [
        {
            "entity_name": "ABC Business",
            "address1": "130 Madison Lane",
            "address2": "Newark Delaware 19707",
            "dba_name": "ABC",
            "ein": "459120043",
            "primary_name": "Ben Wallace",
            "primary_email": "abc@gmail.com",
            "phone_number": "1234567890",
            "naics_code": 111140,
            "ppp_loan_draw": 1,
            "sba_number": "3929132443",
            "loan_number": "111111111",
            "bank_notional_amount": 150000.0,
            "funding_date": "2021-02-01",
            "forgive_covered_period_from": "2021-02-01",
            "forgive_covered_period_to": "2021-05-10",
            "forgive_fte_at_loan_application": 1,
            "forgive_fte_at_forgiveness_application": 1,
            "forgive_2_million": false,
            "forgive_payroll": 105000.0,
            "forgive_amount": 150000.0,
            "loan_increase": 100.0,
            "loan_increase_date": "2021-05-25",
	    "sba_sample_indicator": true,
	    "status": "Approved",
	    "etran_loan_slug": "d9dbd558-7c34-451f-b929-d1828dabe20e",
            "demographics": [],
	    "created_at": "2021-08-04T17:39:45.263064Z",
             "updated_at": "2021-08-04T17:39:45.263083Z",
             "covid_flag": "",
             "decision_by": null
        },
        {
            "entity_name": "CDE Business",
            "address1": "120 Madison Lane",
            "address2": "Newark Delaware 19707",
            "dba_name": "CDE",
            "ein": "405519733",
            "primary_name": "Tim",
            "primary_email": "abc@thesummitgrp.com",
            "phone_number": "1234567890",
            "naics_code": 111191,
            "ppp_loan_draw": 1,
            "sba_number": "4187203098",
            "loan_number": "111111112",
            "bank_notional_amount": 100000.0,
            "funding_date": "2020-04-27",
            "forgive_covered_period_from": "2020-04-27",
            "forgive_covered_period_to": "2020-09-27",
            "forgive_fte_at_loan_application": 1,
            "forgive_fte_at_forgiveness_application": 1,
            "forgive_2_million": false,
            "forgive_payroll": 60000.0,
            "forgive_amount": 100000.0,
            "loan_increase": 32423.0,
            "loan_increase_date": "2021-07-13",
	    "sba_sample_indicator": false,
	    "status": "Approved",
	    "etran_loan_slug": "d9dbd558-7c34-451f-b929-d1828dabe20e",
            "demographics": [],
	     "created_at": "2021-08-04T17:39:45.263064Z",
             "updated_at": "2021-08-04T17:39:45.263083Z",
             "covid_flag": "",
             "decision_by": null
        }

Response Parameters

HTTP Response Code: 200

Parameter Name Data Type Sample Value Description
count Number 1 The count of the records returned in response
next String null The URI of the next set of documents to be fetched
previous String null The URI of the previous set of documents to be fetched
results JSON Array    
entity_name String Abc Inc The entity name of the borrower
address1 String 5050 Ritter Road – Suite B Business Address Line 1
address2 String Mechanicsburg, PA Business Address Line 2
dba_name String Abc Inc The DBA Name or Trade Name of the borrower
ein String 997114733 The SSN or Business TIN of the borrower
primary_name String Jason The primary contact for the loan
primary_email String user@example.com The primary contact persons email
phone_number String 6102342123 The Business Phone Number of the borrower
naics_code Number 722513 Borrower/Business - Valid 6 digit NAICS code
ppp_loan_draw Number 1 Indicates whether it’s a first draw or second draw forgiveness , 1 for first draw & 2 for second draw.
sba_number String 9999114733 The SBA loan number
loan_number String 7777777 The Lender’s loan number
bank_notional_amount Number 900000.00 The PPP loan amount
funding_date String 2020-07-06 PPP loan Disbursement date in YYYY-MM-DD
forgive_covered_period_from String 2020-07-06 The covered period start date in YYYY-MM-DD
forgive_covered_period_to String 2020-09-06 The covered period end date in YYYY-MM-DD
forgive_fte_at_loan_application Number 10 The full time employees at the time of loan application, decimal values are not allowed
forgive_fte_at_forgiveness_application Number 10 Full time employees at the time of forgiveness application, decimal values are not allowed
forgive_2_million Boolean false If Borrower (together with affiliates, if applicable) received PPP loans in excess of $2 million, set to true
forgive_payroll Number 1000.00 Payroll Cost
forgive_amount Number 1666.66 Forgiveness Amount
loan_increase Number 1000.00 If applicable, Any Loan increase done in etran, on the PPP Loan
loan_increase_date string 2021-07-13 If applicable, Date on which increased loan amount was disbursed
sba_sample_indicator Boolean true Whether PPP Loan is in sample for likely review as determined by SBA
demographics JSON Array    
name String Jason The Principal name
position String self-employed individual Identify the Principal’s position; for example, self-employed individual; independent contractor; sole proprietor; general partner; owner; officer; director; member; or key employee.
veteran_status String 1 The veteran status of the borrower. Possible Values: [ 1, 2, 3, 4, X ]
1=Non-Veteran; 2=Veteran; 3=Service-Disabled Veteran; 4=Spouse of Veteran; X=Not Disclosed
gender String M The gender of the borrower. Possible Values: [M, F, X ]
M=Male; F=Female; X=Not Disclosed
ethnicity String H The ethnicity of the borrower. Possible Values: [H, N, X ]
H=Hispanic or Latino; N=Not Hispanic or Latino; X=Not Disclosed
races JSON Array    
race String 1 The race of the borrower. Possible Values: [1, 2, 3, 4, 5, X ]
1=American Indian or Alaska Native; 2=Asian; 3=Black or African-American; 4=Native Hawaiian or Pacific Islander; 5=White; X=Not Disclosed
status String approved This field indicates the status of direct forgiveness application based on Lender action. Valid values include approved, rejected, borrower_correction, failed_validation
etran_loan_slug String d9dbd558-7c34-451f-b929-d1828dabe20e This field indicates the slug of the Forgiveness once Lender approves direct forgiveness request. This slug can be used by API users to track status of SBA’s action on Forgiveness and can be used to make Get Forgiveness Request Details using UUID - GET /api/ppp_loan_forgiveness_requests/{slug}/
created_at String 2021-08-04T17:39:45.263064Z Timestamp of direct forgiveness submission to lender
updated_at String 2021-08-04T17:39:45.263064Z Timestamp of direct forgiveness last updated
decision_by String John Name of the Lender reviewer who decisioned direct forgiveness
covid_flag string pass Flag which determines whether revenue reduction document is required from Borrower for 2nd draw Loans of <=150K. Valid values - fail means document is required, pass means document is not required, null means covid score is not applicable

HTTP Response Code: 403

Parameter Name Data Type Sample Value Description
detail String Authentication credentials were not provided. The detail of the 403 error response

HTTP Response Code: 429

API Call Rate Limits
To maintain reliability and stability within our environments, Forgiveness portal operates with certain API call efficiency guidelines. To ensure effective load balance we continually monitor the API calls to our backend systems and we may throttle requests from developers that are putting unnecessary burden on the system. If the API call rate limit is reached, client will receive an exception. The exception message states: “Request was throttled. Expected available in 1 second”.

Parameter Name Data Type Sample Value Description
detail String Request was throttled. Expected available in 1 second The detail of the 429 error response
status_code Number 429 The HTTP status code

Design Consideration for Client Application

This API can be used with Optional parameter of page number and direct forgiveness application status based on Lender action.

15. Get Guarantee purchase details

This endpoint allows Lenders to look at status of all Guaranted purchase requests

Request type: HTTPS

API Endpoint:

GET /api/purchase_guarantee_status/

Request (Sample)


purchase_guarantee_status/?page=1

Request Parameters

Not Applicable (No request body)

Request Path Parameters

Not Applicable (No path parameter)

Request Query Parameters

Query Parameter Name Data Type Mandatory/Optional Sample Value Description
page Number Optional 1 The page number of the records to be fetched (for pagination)

Request Form Data Parameters

Not Applicable

Response (Sample)


{
    "count": 38,
    "next": null,
    "previous": null,
    "results": [
        {
            "sba_number": "3187205591",
            "principal_amount": 108300.33,
            "interest_amount": 5000.0,
            "payment_amount": 113300.33,
            "status": "Payment Sent",
            "created_at": "2021-07-02T19:08:40.098195Z",
            "updated_at": "2021-07-08T17:52:27.852833Z",
            "sba_decision": ""
        },
        {
            "sba_number": "3187205605",
            "principal_amount": 95000.0,
            "interest_amount": 500.0,
            "payment_amount": 95500.0,
            "status": "Payment Sent",
            "created_at": "2021-07-06T07:56:39.048675Z",
            "updated_at": "2021-07-08T17:52:27.853173Z",
            "sba_decision": "Fully Approved"
        }
		 ]
}

Response Parameters

HTTP Response Code: 200

Parameter Name Data Type Sample Value Description
count Number 1 The count of the records returned in response
next String null The URI of the next set of documents to be fetched
previous String null The URI of the previous set of documents to be fetched
results JSON Array    
sba_number String 9999114733 The SBA loan number
principal_amount Number 50000.0 Principal amount of adjustment
interest_amount Number 95.83 Interest amount of adjustment
payment_amount Number 100.00 Adjustment amount
status String Payment Sent This value indicates the status of Lender’s Guarantee purchase request
created_at String 2020-07-06T17:17:58.218Z The created/submission date time of the Guranteed Purchase in UTC
updated_at String 2020-07-06T17:17:58.218Z The updated date time of the Guranteed Purchase in UTC
sba_decision String Fully Approved This value will always indicate the status of the SBA Decision only

HTTP Response Code: 403

Parameter Name Data Type Sample Value Description
detail String Authentication credentials were not provided. The detail of the 403 error response

HTTP Response Code: 429

API Call Rate Limits
To maintain reliability and stability within our environments, Forgiveness portal operates with certain API call efficiency guidelines. To ensure effective load balance we continually monitor the API calls to our backend systems and we may throttle requests from developers that are putting unnecessary burden on the system. If the API call rate limit is reached, client will receive an exception. The exception message states: “Request was throttled. Expected available in 1 second”.

Parameter Name Data Type Sample Value Description
detail String Request was throttled. Expected available in 1 second The detail of the 429 error response
status_code Number 429 The HTTP status code

Design Consideration for Client Application

This API can be used with Optional parameter of page number.

16. Get Guarantee purchase details by SBA number

This endpoint allows Lenders to look at status of Guaranted purchase request by SBA number

Request type: HTTPS

API Endpoint:

GET /api/purchase_guarantee_status/SBA_Number

Request (Sample)


purchase_guarantee_status/sba_number

Request Parameters

Not Applicable (No request body)

Request Path Parameters

Path Parameter Name Data Type Mandatory/Optional Sample Value Description
sba_number Number Mandatory 3187205605 SBA number used for Guaranteed purchase

Request Query Parameters

Not Applicable (No query parameter)

Request Form Data Parameters

Not Applicable

Response (Sample)


{
    "sba_number": "3187205605",
    "principal_amount": 95000.0,
    "interest_amount": 500.0,
    "payment_amount": 95500.0,
    "status": "Payment Sent",
    "created_at": "2021-07-06T07:56:39.048675Z",
    "updated_at": "2021-07-08T17:52:27.853173Z",
    "sba_decision": "Fully Approved"
}

Response Parameters

HTTP Response Code: 200

Parameter Name Data Type Sample Value Description
sba_number String 9999114733 The SBA loan number
principal_amount Number 50000.0 Principal amount of adjustment
interest_amount Number 95.83 Interest amount of adjustment
payment_amount Number 100.00 Adjustment amount
status String Payment Sent This value indicates the status of Lender’s Guarantee purchase request
created_at String 2020-07-06T17:17:58.218Z The created/submission date time of the Guranteed Purchase in UTC
updated_at String 2020-07-06T17:17:58.218Z The updated date time of the Guranteed Purchase in UTC
sba_decision String Fully Approved This value will always indicate the status of the SBA Decision only

HTTP Response Code: 403

Parameter Name Data Type Sample Value Description
detail String Authentication credentials were not provided. The detail of the 403 error response

HTTP Response Code: 429

API Call Rate Limits
To maintain reliability and stability within our environments, Forgiveness portal operates with certain API call efficiency guidelines. To ensure effective load balance we continually monitor the API calls to our backend systems and we may throttle requests from developers that are putting unnecessary burden on the system. If the API call rate limit is reached, client will receive an exception. The exception message states: “Request was throttled. Expected available in 1 second”.

Parameter Name Data Type Sample Value Description
detail String Request was throttled. Expected available in 1 second The detail of the 429 error response
status_code Number 429 The HTTP status code

Design Consideration for Client Application