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 or it has been more than 24 hrs since submission
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 10 does not validate against lines 1-9; please validate your request and supporting numbers before resubmission’ For 3508 Form, when Line 10 doesnot match (sum of lines 1 to 8 and subtract line 9). Please refer to 3508 form
POST /ppp_loan_forgiveness_requests 400: ‘Our automatic calculation routine discovered that line 15 does not validate against lines 12-14; please validate your request and supporting numbers before resubmission’ For 3508 Form, when Forgive amount is not meeting 3508 guidelines (minumum of line 12,13 and 14).
POST /ppp_loan_forgiveness_requests 400: ‘Our automatic calculation routine discovered that line 12 does not validate against lines 9-11; please validate your request and supporting numbers before resubmission’ If using ez_form and line 12 does not validate against lines 9-11
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 can not extend beyond 1/4/2022’ If Covered period goes beyond Jan 4th, 2022
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
POST /ppp_loan_forgiveness_requests 400: ‘We have detected that your entered covered period may not be correct. Please check your disbursement date and covered period dates and ensure the covered period follow the SBA PPP guidance.’ If covered period start date is not meeting SBA guidelines - “Borrowers who received loans in 2021 and borrowers who received loans in 2020 but have not yet applied for forgiveness are eligible to select the length of their covered period for a time period beginning on the date of disbursement of the loan (system allows buffer of 2 weeks) and ending on a date that is at least 8 weeks but no more than 24 weeks later. Borrowers may apply for forgivenessonce their selected covered period has expired,Requirement for 2020 Loans to have Covered period end on or before 12/31/2020, was removed”
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) to 24 week (168 days) guidance. Please validate the dates you entered and resubmit.’ If covered period is not between 8 and 24 weeks
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
POST /ppp_loan_forgiveness_requests 400: ‘We have detected that your funding date supplied is likely inaccurate as it occurs after the funding date in Etran’ When Loan disbursement date is > 120 days from Etran funding date
POST /ppp_loan_forgiveness_requests 400: ‘The PPP draw you have selected appears to be incorrect. Please validate that you have selected the correct PPP draw and resubmit’ Loan draw in Forgiveness application not matching with PPP draw for Orignation application
POST /ppp_loan_forgiveness_requests 400: ‘Please provide a valid NAICS code’ NAICS code provided doesn’t match with valid list of NAICS codes
POST /ppp_loan_forgiveness_requests 400: ‘‘The First Draw PPP Loan must apply for forgiveness before the Second Draw PPP Loan’ 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. So when lender is submitting forgiveness for second draw, application throws an error message if application doesn’t see a forgiveness of first draw loan and second draw loan > 150 k.
POST /ppp_loan_forgiveness_requests 400: ‘Payroll costs must be >= 60% of requested loan forgiveness amount’ Payroll amount should be >= 60% of requested forgiveness else this error message triggers
POST /ppp_loan_forgiveness_requests 400: ‘We have detected that you have selected a safe harbor option, but you have also supplied a value for Schedule A Line 11 or 12. Please double check your values and resubmit.’ For 3508 Form : When safe harbor options are marked true and value provided in Schedule A Line 11 and Line 12.
POST /ppp_loan_forgiveness_requests 400: ‘Ensure this value is less than or equal to 1.0’ For 3508 Form : When forgive_schedule_a_line_13 value is more than 1.
POST /ppp_loan_forgiveness_requests 400: ‘Our automatic calculation routine detected that your Modified Total does not match the values entered on lines 10 and 11. Please double check your values and resubmit.’ For 3508 Form, when Modified total amount value is not correct as per calculation.
POST /ppp_loan_forgiveness_requests 400: ‘Our automatic calculation routine discovered that line 9 does not validate against lines 1-8; please validate your request and supporting numbers before resubmission’ For 3508 Form, when forgive_line_6_3508_or_line_5_3508ez calculation is not correct as per calculation.
POST /ppp_loan_forgiveness_requests 400: ‘Covered period can not begin before funding date in Etran’ Covered Period is before funding date in Etran.
POST /ppp_loan_forgiveness_requests 400: ‘Our automatic calculation routine determined that your Payroll Cost 60% requirement does not validate against line 1. Please check your calculation and try again.’ For 3508 Form, if payroll cost is not provided as per calculation logic.
POST /ppp_loan_forgiveness_requests 400: ‘A loan increase date cannot be before the loan’s funding date’ Loan Increase date provided is before the funding date.
POST /ppp_loan_forgiveness_requests 400: ‘A loan increase date cannot be on or before December 27, 2020’ Loan Increase date cannot be on or before December 27, 2020
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’ Following status for loans are eligible for forgiveness submission.Delinquent Disbursed, Disbursed Current, Lender Deferred Disbursed, Past Due Disbursed. Following status for loans are not applicable for forgiveness submission.Paid in Full, Active Un-Disbursed, In Liquidation Disbursed, Voluntary Termination, Charge Off, Cancelled
POST /ppp_loan_forgiveness_requests 400: ‘A loan increase requires both an increase value and a loan increase date’ loan_increase or loan_increase date provided are co-mandatory. Either both should be provided or both should not.
POST /ppp_loan_forgiveness_requests 400: ‘The SBA Number used with this decision is not currently valid for forgiveness, because it is already associated with a Guaranteed Purchase Request’ Forgiveness submitted for a Loan after Guaranteed purchase was already submitted for that Loan
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