SBA Loan Forgiveness Platform - API HTTP Response Codes

The SBA Loan Forgiveness Platform REST APIs return either 200 (OK) , 201 (Created) or 204 when an API request successfully runs to completion. Status codes in the 400-500 range indicate failures

List of HTTP Error Codes:

Method API Error code & Error Message Error Description
POST /ppp_loan_documents Default REST errors Default REST errors
POST /ppp_loan_documents 404: ‘Request Not Found’ etran_loan slug does not exist
POST /ppp_loan_documents 404: ‘Unsupported file type extension. Please provide a file of type: .pdf,.xls,.xlsx,.csv,.doc,.docx,.jpg,.jpeg,.png’ If Document error
POST /ppp_loan_documents 404: ‘Additional documents not allowed at this time’ If status is NOT pending_validation OR lender_additional_info_needed
GET /ppp_loan_document_types Default REST errors Default REST errors
DELETE /ppp_loan_forgiveness_requests 400: ‘Submission can not be withdrawn as it has begun SBA review’ If status is not pending validation
POST /ppp_loan_forgiveness_requests Default REST errors Default REST errors
POST /ppp_loan_forgiveness_requests 400: ‘Our system has detected a Forgiveness decision that has already been submitted for this SBA number, please verify before resubmitting’ If forgiveness request already exist
POST /ppp_loan_forgiveness_requests 400: ‘SBA Number is not valid for forgiveness’ If the SBA Number used with this decision is not currently valid for forgiveness
POST /ppp_loan_forgiveness_requests 400: ‘The SBA Number used with this decision is not currently valid for forgiveness, please ensure it is fully disbursed’ If the SBA Number used with this decision is not currently valid for forgiveness
POST /ppp_loan_forgiveness_requests 400: ‘The forgiven amount included in this decision is greater than the original SBA PPP loan amount’ If the forgiven amount included in this decision is greater than the original SBA PPP loan amount
POST /ppp_loan_forgiveness_requests 400: ‘The EIN/SSN does not match the original values supplied with the PPP loan. Please review the values with Etran and resubmit’ If the EIN/SSN does not match the original values supplied with the PPP loan
POST /ppp_loan_forgiveness_requests 400: ‘Loan is not valid for your institution’ If PPP Loan is not valid for your institution
POST /ppp_loan_forgiveness_requests 400: ‘Our automatic calculation routine discovered that line 6 does not validate against lines 1-5; please validate your request and supporting numbers before resubmission’ If not using ez_form and line 6 does not validate against lines 1-5
POST /ppp_loan_forgiveness_requests 400: ‘Our automatic calculation routine discovered that line 11 does not validate against lines 8-10; please validate your request and supporting numbers before resubmission’ If not using ez_form and line 11 does not validate against lines 8-10
POST /ppp_loan_forgiveness_requests 400: ‘Our automatic calculation routine discovered that line 8 does not validate against lines 5-7; please validate your request and supporting numbers before resubmission’ If using ez_form and line 8 does not validate against lines 5-7
POST /ppp_loan_forgiveness_requests 400: ‘The automated validation calculation detected that your computed forgiven amount is greater than your entered forgiven amount’ If computed forgiven amount > entered forgiven amount + 1
POST /ppp_loan_forgiveness_requests 400: ‘The Calculated Forgiven Amount and Entered Forgiven Amount Vary Significantly: : ' If the Calculated Forgiven Amount and Entered Forgiven Amount Vary Significantly
POST /ppp_loan_forgiveness_requests 400: ‘Lender must confirm that this is accurate’ If forgive_lender_confirmation is false
POST /ppp_loan_forgiveness_requests 400: ‘Funding Date is Required’ If no funding date
POST /ppp_loan_forgiveness_requests 400: ‘Covered period date error’ If forgive_covered_period_to <= forgive_covered_period_from
POST /ppp_loan_forgiveness_requests 400: ‘Covered period date error’ If forgive_alternate_covered_period_to <= forgive_alternate_covered_period_from
POST /ppp_loan_forgiveness_requests 400: ‘Covered Period can not extend beyond 12/31/2020’ If forgive_covered_period_from > END_OF_YEAR or forgive_covered_period_to > END_OF_YEAR
POST /ppp_loan_forgiveness_requests 400: ‘Alternate Covered Period can not extend beyond 12/31/2020’ If forgive_alternate_covered_period_from > END_OF_YEAR or forgive_alternate_covered_period_to > END_OF_YEAR
POST /ppp_loan_forgiveness_requests 400: ‘PPP Loan Disbursement Date is prior to the date of funding from Etran’ If PPP Loan Disbursement Date > funding_date
POST /ppp_loan_forgiveness_requests 400: ‘We have detected that you have entered a PPP Loan Disbursement Date that is after the beginning of your entered covered period. Disbursement date (or funding date) in many cases will be aligned to the start of your covered period. Please validate your Loan Disbursement entry and resubmit.’ If funding_date > forgive_covered_period_from or funding_date > forgive_alternate_covered_period_from
POST /ppp_loan_forgiveness_requests 400: ‘We have detected that your entered covered period or alternative covered period may not be correct. Please check your disbursement date and covered period dates and ensure the covered period or alternative covered period follow the SBA PPP guidance.’ If covered period or alternate covered period entered doesn’t conform as per SBA PPP guidelines.
POST /ppp_loan_forgiveness_requests 400: ‘We have detected that your covered period is likely incorrect as it doesn’t align with the 8 week (56 days) or 24 week (168 days) guidance. Please validate the dates you entered and resubmit. Even if you are entering this decision in advance of the 24 week period ending, please enter the full 24 week covered period duration.’ If covered period duration < 50 days or covered period duration > 60 days. OR
If covered period duration < 160 days or covered period duration > 170 days.
POST /ppp_loan_forgiveness_requests 400: ‘We have detected that your alternate covered period is likely incorrect as it doesn’t align with the 8 week (56 days) or 24 week (168 days) guidance. Please validate the dates you entered and resubmit. Even if you are entering this decision in advance of the 24 week period ending, please enter the full 24 week covered period duration.’ If alternate covered period duration < 50 days or alternate covered period duration > 60 days. OR
If alternate covered period duration < 160 days or alternate covered period duration > 170 days
POST /ppp_loan_forgiveness_requests 400: ‘EIDL Advance Amount can not be greater than $10,000. Please ensure this value is not the EIDL Loan Amount. The EIDL Advance entered here will automatically reduce your final forgiveness payment amount.’ If forgive_eidl_amount is greater than 10000.
POST /ppp_loan_forgiveness_requests 400: ‘You can not deny this forgiveness request and provide a forgiveness amount’ If forgive_lender_decision is 2 (Denied) and the forgive_amount field is not zero.
POST /ppp_loan_forgiveness_requests 400: ‘Ensure that there are no more than 10 digits before the decimal point.’ If forgive_line_6_3508_or_line_5_3508ez is more than 10 digits.
POST /ppp_loan_forgiveness_requests 400: ‘Ensure that there are no more than 12 digits in total.’ If forgive_payroll_cost_60_percent_requirement, forgive_amount is more than 12 digits in total.
POST /ppp_loan_forgiveness_requests 400: ‘Our automatic calculation detected that your FTE Quotient (Line 13) does not match the values entered on Lines 11 and 12. Please double check your values and resubmit’ When FTE Reduction Quotient (forgive_schedule_a_line_13) is not equal to Total average FTE (forgive_schedule_a_line_12)/Average FTE during the Borrower’s chosen reference period (forgive_schedule_a_line_11)
POST /ppp_loan_forgiveness_requests 400: ‘Our automatic calculation detected that you have selected a safe harbor option, but your FTE Quotient entry does not equal 1. Please correct these selections and resubmit’ If any of the following - no reduction in employees or average paid hours (no_reduction_in_employees), FTE Reduction Safe Harbor 1 (no_reduction_in_employees_and_covid_impact) or FTE Reduction Safe Harbor 2 (forgive_schedule_a_line_10_checkbox) is true but FTE reduction quotient (forgive_schedule_a_line_13) is not equal 1
POST /ppp_loan_forgiveness_requests 400: ‘We have detected that your Payroll Cost (Schedule A Line 10) supplied does not match the sum of values provided on Schedule A Lines 1, 4, 6, 7, 8, and 9. Please double check your values and resubmit’ When Total Payroll costs (forgive_schedule_a_line_10) <> (forgive_schedule_a_line_1 + forgive_schedule_a_line_4 + forgive_schedule_a_line_6 + forgive_schedule_a_line_7 + forgive_schedule_a_line_8 + forgive_schedule_a_line_9)
POST /ppp_loan_forgiveness_requests 400: ‘Our automatic calculation routine detected that your Total Average FTE value entered on Line 12, does not match the sum of Lines 2 (Average FTE (Box 2)) and Lines 5 (Box 5). Please correct your entries and resubmit’ When Total Average FTE (forgive_schedule_a_line_12) <> Average FTE Box 2 (forgive_schedule_a_line_2) + Average FTE Box 5 (forgive_schedule_a_line_5)
POST /ppp_loan_forgiveness_requests 400: ‘Our automatic calculation routine detected that Salary/Hourly Wage Reduction (Box 3) is greater than $0 even though the Alternative Payroll Covered Period 75% checkbox was selected’ When Salary/Hourly Wage reduction - Box 3 (forgive_schedule_a_line_3) is not equal 0, even if check box (forgive_schedule_a_line_3_checkbox) is selected
POST /ppp_loan_forgiveness_requests 400: ‘We have detected that your Payroll Cost supplied does not match the values you entered on Schedule A Line 10. Please double check your values and resubmit’ When Payroll cost (forgive_payroll) <> Schedule A Line 10 (forgive_schedule_a_line_10)
POST /ppp_loan_forgiveness_requests 400: ‘Please ensure your Employees at Time of Forgiveness Application is accurate. We have detected an extremely large value not indicative of a small business’ When Employees at the time of forgiveness application > 10000
POST /ppp_loan_forgiveness_requests 400: ‘Please ensure your Employees at Time of Loan Application is accurate. We have detected an extremely large value not indicative of a small business’ When Employees at the time of Loan application > 10000
GET /ppp_loan_forgiveness_requests Default REST errors Default REST errors
PUT /ppp_loan_forgiveness_message_reply 400: ‘Could not save message. Please verify your data and send again.’ If invalid parameters in the ppp_loan_forgiveness_message_reply request
PUT /ppp_loan_forgiveness_message_reply 403: ‘Unsupported file type extension. Please provide a file of type: .pdf,.xls,.xlsx,.csv,.doc,.docx,.jpg,.jpeg,.png’ If Unsupported file type extension
PUT /ppp_loan_forgiveness_message_reply 403: ‘Additional documents not allowed at this time’ If status is not Lender Additional Info Needed
PUT /ppp_loan_forgiveness_message_reply 404: ‘An error occurred. Please confirm that you provided a valid slug’ If invalid Slug