PPP Loan APIs - API Dictionary
Table of Contents
- Pre-requisites
- Environment
- 1. Submit PPP Loan Request
- 2. Get Details of ALL PPP Loan Requests
- 3. Get Specific PPP Loan Request Details
- 4. Delete PPP Loan Request
- 5. Get ALL NAICS Codes
- 6. Get NAICS details using NAICS code or Industry description
- 7. Get ALL Franchise Details
- 8. Get Franchise Details using Franchise code or name
- 9. Get eTran PPP Loan Validation
- 10. Get Validated and Standardized Address
- 11. Get EIDL Loan Number Validation
This document gives an overview for the API’s that are exposed by the PPP Loan 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 & DELETE API requests.
Environment: All the PPP API’s are exposed in the Sandbox and Production environment
Environment | URL |
---|---|
Sandbox | https://sandbox.forgiveness.sba.gov/ |
Production | https://forgiveness.sba.gov/ |
1. Submit PPP Loan Request
This API is used by lenders to submit PPP loan request to SBA
Note - If field is optional and user does not have a valid value for that field, those fields may be omitted in JSON input
Please note:
A. Project Address that may be used in the vendors application should be mapped to Business Address. The SBA is not allowing PO Boxes for this business address.
B. The SBA is allowing PO Boxes to be sent for Principal addresses.
C. CLS User – The SBA PPP Platform handles the routing and booking based on Lender Location ID that is associated with your Lending institution within the Platform. This
Lender Location ID is available in the platform.
D. ETRAN uses processing methods to outline how you book loans into the system. ETRAN will leverage two processing methods for this new round of PPP. You do not have to pass
us these processing methods, as they will automatically be set based on the value you are passing True/False to the Second Draw API indicator.
D. EIDL loans are only for the first round and will be mapped automatically into the Use of Proceeds.
Request type: HTTPS
API Endpoint:
POST /api/origination/
Request (Sample Body)
{
"business": {
"owners": [
{
"business_name": "ABC Corp",
"owner_type": 2,
"first_name": "James",
"last_name": "Marshall",
"title": "Director",
"business_type": 2,
"ownership_percentage": 25,
"tin": "252751625",
"tin_type": 0,
"address_line_1": "123 Second St",
"address_line_2": "",
"city": "Manhattan",
"state": "NY",
"zip_code": "10004",
"zip_code_plus4": "1234",
"position": "Director",
"veteran_status": "1",
"gender": "M",
"ethnicity": "N",
"race": [
"1",
"2"
]
}
],
"naics_code": "722513",
"business_type": 2,
"dba_tradename": "ABC Corp",
"legal_name": "ABC Corp",
"first_name": "James",
"last_name": "Marshall",
"address_line_1": "5050 Ritter Rd",
"address_line_2": "Suite B",
"city": "Mechanicsburg",
"state": "PA",
"zip_code": "17055",
"zip_code_plus4": "1234",
"tin": "835881068",
"tin_type": 0,
"phone_number": "5482562187",
"primary_contact": "James",
"primary_contact_email": "user@example.com",
"is_franchise": true,
"is_sba_listed_franchise": true,
"franchise_code": "S2956",
"date_of_establishment": "2019-01-01"
},
"average_monthly_payroll": 1000,
"loan_amount": 2500,
"refinance_of_eidl_amount": 0,
"refinance_of_eidl_loan_number": "string",
"number_of_employees": 1,
"period_1_quarter": "1",
"period_1_revenue": 0,
"period_2_quarter": "1",
"period_2_revenue": 0,
"purpose_of_loan_payroll": true,
"purpose_of_loan_mortgage": false,
"purpose_of_loan_utilities": false,
"purpose_of_loan_covered_operations_expenditures": false,
"purpose_of_loan_covered_property_damage": false,
"purpose_of_loan_covered_supplier_costs": false,
"purpose_of_loan_covered_worker_protection_expenditure": false,
"purpose_of_loan_other": false,
"purpose_of_loan_other_info": "",
"ineligible_general": true,
"ineligible_bad_loan": true,
"ineligible_criminal_charges": true,
"ineligible_felony": true,
"applicant_is_eligible": true,
"applicant_meets_revenue_test_and_size_standard": true,
"applicant_no_shuttered_venue_grant": true,
"applicant_has_reduction_in_gross_receipts": true,
"applicant_wont_receive_another_second_draw": true,
"applicant_meets_size_standard": 1,
"lender_contracted_third_party": true,
"loan_request_is_necessary": true,
"has_other_businesses": true,
"received_eidl": false,
"all_employees_residency": true,
"second_draw_ppp_loan": false,
"ppp_first_draw_sba_loan_number": 0,
"ppp_first_draw_loan_amount": 0,
"lender_application_number": "12345"
"schedule_c_2483_form": true,
"schedule_c_tax_year": "2019",
"schedule_c_gross_income": 20000.00
}
Request Parameters
Optional and Conditional parameters should not be included when null.
Parameter Name | Data Type | Mandatory/Optional/Conditional | Sample Value | Description |
---|---|---|---|---|
business | JSON Object |
Mandatory | ||
owners | JSON Array |
Mandatory | ||
business_name | String | Conditional | ABC Corp | Owner - Business name (if owner is a business). Include only if owner_type is 2. Max 80 characters allowed |
first_name | String | Conditional | James | Owner - first name, Include only if owner_type is 1. Max 40 characters allowed |
last_name | String | Conditional | Marshall | Owner - last name, Include only if owner_type is 1. Max 40 characters allowed |
business_type | number | Conditional | 2 | Owner - Business type if owner is a Business i.e. Conditional for Owners Array with owner_type=2, possible values: SOLE_PROPRIETOR = 1, PARTNERSHIP = 2, C_CORP = 3, LLC = 4, JOINT_VENTURE = 5, PROFESSIONAL_ASSOCIATION = 6, TRUST = 7, COOPERATIVE = 8, LLP = 9, S_CORP = 10, NPO or Non-Profit Organization (Other 501(c)) = 11, TENANT_IN_COMMON = 12, ESOP = 13, NONPROFIT_CHILD_CARE = 14, ROBS = 15, ELIG_SELF_EMPLOYED = 16, INDEPENDENT_CONTRACTOR = 17, NONPROFIT_C_3_ORGANIZTION = 21, NONPROFIT_C_6_ORGANIZTION = 22, VETERANS_ORG = 23, TRIBAL = 24, HOUSING_COOPERATIVE = 25, SINGLE_MEMBER_LLC = 26, QUALIFIED_JOINT_VENTURE (spouses) = 27 |
title | String | Optional | Director | Owner - Title of Owner, max 80 characters allowed |
owner_type | Number | Mandatory | 2 | Owner - Whether owner is an individual or business. PERSON = 1 BUSINESS = 2 |
ownership_percentage | Number | Mandatory | 25 | Owner - % ownership of owner. Valid Values from 1 to 100 and no more than 3 digits, The SBA requires that the Owners percent is at least 1%. In some scenerios where there is no owner with 1%, you will still need to submit a princpal with 1%. There is no current workaround.The SBA has finalized the ownership/principal requirement to enforce an aggregate 20% submission level for all principals combined. The system will still honor the current value of 1% (for each individual principal) – but the aggregate of those entered – must be 20%. Said differently – a single 1% principal will not be allowed via the UI or API – you must submit an achieved total of 20%. See FAQ # 19 |
tin | String | Mandatory | 252751625 | Owner - Owner’s EIN or SNN with no spaces or dashes SSN’s. See FAQ for the REG EX used in validation |
tin_type | Number | Mandatory | 0 | Owner - EIN = 0 , SSN = 1, ITIN = 4 Owner’s TIN Type. It is conditional on Business Type. See Business Owner Matrix |
address_line_1 | String | Mandatory | 123 Second St | Owner - Street Address of owner. If owner resides outside US, use thier US or Business address. Max 80 characters allowed |
address_line_2 | String | Optional | Owner - Optional Address Info of owner. If owner resides outside US, use thier US or Business address. Max 80 characters allowed | |
city | String | Mandatory | Manhattan | Owner - city of Owner’s address.City should validate with ZIP using USPS standard. If owner resides outside US, use thier US or Business address city. Max 40 characters allowed |
state | String | Mandatory | NY | Owner - 2 Letter State Code of Owner’s address. If owner resides outside US, use thier US or Business state |
zip_code | String | Mandatory | 10004 | Owner - 5 Digit Valid Zip. If owner resides outside US, use thier US or Business zip |
zip_code_plus4 | String | Optional | 1234 | Owner - 4 Digit Zip+4. If owner resides outside US, use thier US or Business zip+4 |
position | String | Optional | Director | Owner - Postion as defined for demographics |
veteran_status | String | Optional | 1 | Owner - 1=Non-Veteran; 2=Veteran; 3=Service-Disabled Veteran; 4=Spouse of Veteran; X=Not Disclosed |
gender | String | Optional | M | Owner - M=Male; F=Female; X=Not Disclosed |
ethnicity | String | Optional | N | Owner - H=Hispanic or Latino; N=Not Hispanic or Latino; X=Not Disclosed |
race | Array with Strings allowed | Optional | Owner - 1=American Indian or Alaska Native; 2=Asian; 3=Black or African-American; 4=Native Hawaiian or Pacific Islander; 5=White; X=Not Disclosed | |
naics_code | number | Mandatory | 722513 | Borrower/Business - Valid 6 digit integer NAICS |
business_type | number | Mandatory | 2 | Borrower/Business - Borrowwer’s Business type, mandatory in the business array: SOLE_PROPRIETOR = 1, PARTNERSHIP = 2, C_CORP = 3, LLC = 4, JOINT_VENTURE = 5, PROFESSIONAL_ASSOCIATION = 6, TRUST = 7, COOPERATIVE = 8, LLP = 9, S_CORP = 10, NPO or Non-Profit Organization (Other 501(c)) = 11, TENANT_IN_COMMON = 12, ESOP = 13, NONPROFIT_CHILD_CARE = 14, ROBS = 15, ELIG_SELF_EMPLOYED = 16, INDEPENDENT_CONTRACTOR = 17, NONPROFIT_C_3_ORGANIZTION = 21, NONPROFIT_C_6_ORGANIZTION = 22, VETERANS_ORG = 23, TRIBAL = 24, HOUSING_COOPERATIVE = 25, SINGLE_MEMBER_LLC = 26, QUALIFIED_JOINT_VENTURE (spouses) = 27 PLEASE NOTE: THERE IS NO “OTHER” TYPE |
dba_tradename | String | Optional | ABC Corp | Borrower/Business - DBA name if known. Max 80 characters allowed |
legal_name | String | Conditional | ABC Corp | Borrower/Business - Business name - Do not include for Business types 1,16,17,26,27. Max 80 characters allowed |
first_name | String | Conditional | John | Borrower/Business - first name - include for Business types 1,16,17,26,27. Max 40 characters allowed |
last_name | String | Conditional | Mich | Borrower/Business - last name - include for Business types 1,16,17,26,27. Max 40 characters allowed |
address_line_1 | String | Mandatory | 123 Fake Street | Borrower/Business - Street Address, po box not allowed. Max 80 characters allowed |
address_line_2 | String | Optional | Suite B | Borrower/Business - Additonal street info. Max 80 characters allowed |
city | String | Mandatory | Mechanicsburg | Borrower/Business - City should validate with ZIP using USPS standard. Max 40 characters allowed |
state | String | Mandatory | PA | Borrower/Busienss - 2 Letter State Code |
zip_code | String | Mandatory | 17055 | Borrower/Business - Five Digit Zip |
zip_code_plus4 | String | Optional | 1234 | Borrower/Business - 4 Digit Zip+4 |
tin | String | Mandatory | 435881068 | Borrower/Business - EIN or SSN |
tin_type | number | Mandatory | 0 | Borrower/Business - EIN=0, SSN=1, ITIN=4 |
phone_number | String | Mandatory | 5482562187 | Borrower/Business - Phone Number without dashes or spaces |
primary_contact | String | Mandatory | James | Borrower/Business - First Name and Last Name. Max 80 characters allowed |
primary_contact_email | String | Mandatory | user@example.com | Borrower/Business - A Valid Email address. Max 80 characters allowed |
is_franchise | boolean | Mandatory | true | Borrower/Business - True or False |
is_sba_listed_franchise | boolean | conditional | true | Borrower/Business - Whether Franchise is listed with SBA |
franchise_code | String | Conditional | A12345 | Borrower/Business - Valid SBA Franchise Code if if_franchise = true or is_sba_listed_franchise = true.For PPP Loan approval, SBA expects Franchise to be listed with them |
date_of_establishment | String | Mandatory | 2019-01-01 | Operation should be on or before February 15, 2020. Even though 2483 expects year, API/Etran requires date of establishment with YYYY-MM-DY |
average_monthly_payroll | Number | Mandatory | 1000 | Average Monthly Payroll. (If Applicant submitted SBA Form 2483-C, use the amount entered in B in either table, plus the amount entered in C for Applicants with employees (if applicable) or If Applicant submitted SBA Form 2483-SD-C, use the amount entered in B in either table, plus the amount entered in C for Applicants with employees (if applicable) |
loan_amount | Number | Mandatory | 2500 | If First draw - 2.5 x average monthly payroll + EIDL, Net of Advance (if Applicable) Equals Loan Request If second draw 2.5 x average monthly payroll (or x 3.5 for NAICS 72 applicants) equals Loan Request Amount. (If Applicant submitted SBA Form 2483-C, use the amount entered in B in either table, plus the amount entered in C for Applicants with employees (if applicable), multiplied by 2.5; or If Applicant submitted SBA Form 2483-SD-C, use the amount entered in B in either table, plus the amount entered in C for Applicants with employees (if applicable), multiplied by 2.5 (or multiplied by 3.5 for NAICS 72 applicants) |
received_eidl | boolean | Optional | true | First Draw - True or False - required if and only if first draw PPP loan and if Borrower received EIDL loan between Jan 31st 2020 and April 03rd, 2020 |
refinance_of_eidl_amount | Number | Conditional | 1000 | First draw - EIDL Loan amount, if EIDL is TRUE. Only valid for first draw loans and in that case also it’s optional |
refinance_of_eidl_loan_number | String | Conditional | 1234567890 | First draw - EIDL loan number, MUST be provided when Borrower is refinancing EIDL loan. Only valid for first draw loans and in that case also it’s optional, this is used to gather information in place of addendum B of form 2483. |
number_of_employees | Number | Required | 1 | Number of Employees, minimun 1 if first draw must be 500 or less (or 300, if applicable) except if applicant_meets_size_standard of 2 or 3 second draw must be 300 or less (including affliates, if applicable) see FAQ regarding employees per period loan |
period_1_quarter | Number | Optional | 1 | second draw only - Current Period - Required if second_draw_ppp_loan is true and loan amount > 150 k, valid values of 1 to 5 with 5 used for annual. See FAQ # 20 |
period_1_revenue | Number | Optional | 3000 | second draw only - Current period under review and should be < 76% of period 2 - Required if second_draw_ppp_loan is true and loan amount > 150 k |
period_2_quarter | Number | Optional | 1 | second draw only - Prior Reference period under review - Required if second_draw_ppp_loan is true and loan amount > 150 k, valid values of 1 to 5 with 5 used for annual |
period_2_revenue | Number | Optional | 6000 | second draw only - Prior/reference - Required if second_draw_ppp_loan is true and loan amount > 150 k |
purpose_of_loan_payroll | boolean | Mandatory | true | true or false: See 2483 Form - Fields Mapping to API Elements |
purpose_of_loan_mortgage | boolean | Mandatory | false | true or false: See 2483 Form - Fields Mapping to API Elements |
purpose_of_loan_utilities | boolean | Mandatory | false | true or false: See 2483 Form - Fields Mapping to API Elements |
purpose_of_loan_covered_operations_expenditures | boolean | Mandatory | false | true or false: See 2483 Form - Fields Mapping to API Elements |
purpose_of_loan_covered_property_damage | boolean | Mandatory | false | true or false: See 2483 Form - Fields Mapping to API Elements |
purpose_of_loan_covered_supplier_costs | boolean | Mandatory | false | true or false: See 2483 Form - Fields Mapping to API Elements |
purpose_of_loan_covered_worker_protection_expenditure | boolean | Mandatory | false | true or false: See 2483 Form - Fields Mapping to API Elements |
purpose_of_loan_other | boolean | Mandatory | false | true or false: See 2483 Form - Fields Mapping to API Elements |
purpose_of_loan_other_info | string | Conditional | Reason | See 2483 Form - Fields Mapping to API Elements, Number of characters allowed for is restricted to 80 alphanumeric characters (non-alphanumeric characters are allowed but they count double). |
ineligible_general | boolean | Mandatory | true | Must be TRUE for validation. False will cause rejection with Attestations not complete. The Applicant has certified to the Lender that neither the Applicant nor any owner is presently suspended, debarred, proposed for debarment, declared ineligible, voluntarily excluded from participation in this transaction by any Federal department or agency, or presently involved in any bankruptcy. |
ineligible_bad_loan | boolean | Mandatory | true | Must be TRUE for validation. False will cause rejection with Attestations are not complete. The Applicant has certified to the Lender that neither the Applicant nor any of its owners, nor any business owned or controlled by any of them, ever obtained a direct or guaranteed loan from SBA or any other Federal agency that is (a) currently delinquent or (b) has defaulted in the last 7 years and caused a loss to the government. |
ineligible_criminal_charges | boolean | Mandatory | true | Must be TRUE for validation. False will cause rejection with Attestations are not complete. “The Applicant has represented to the Lender that neither the Applicant (if an individual) nor any individual owning 20% or more of the equity of the Applicant is presently incarcerated or, for any felony, presently subject to an indictment, criminal information, arraignment, or other means by which formal criminal charges are brought in any jurisdiction.” |
ineligible_felony | boolean | Mandatory | true | Must be TRUE for validation. False will cause rejection with Attestations are not complete.”“The Applicant has represented to the Lender that neither the Applicant (if an individual) nor any owner (as defined in the Applicant’s SBA Form 2483) of the Applicant has within the last 5 years, for any felony involving fraud, bribery, embezzlement, or a false statement in a loan application or an application for federal financial assistance, or within the last year for any other felony: 1) been convicted; 2) pleaded guilty; 3) pleaded nolo contendere; or 4) commenced any form of parole or probation (including probation before judgment).” |
applicant_is_eligible | boolean | Mandatory | true | Must be TRUE for validation. False will cause rejection with Attestations are not complete. The Applicant has certified to the Lender that the Applicant is eligible under the Paycheck Protection Program Rules.Also When utilizing ITINs, the Lender has properly obtained and will retain documentation supporting the proper identification and ITIN use by the Borrower. |
applicant_meets_revenue_test_and_size_standard | boolean | Mandatory | true | First & Second Draw Required: Must be TRUE for validation, False will cause rejection with Attestations are not complete. “Form 2484 Section E, Question 1 and 2.”. For First draw - The Applicant has certified to the Lender that the Applicant, together with its affiliates (if applicable), (1) is an independent contractor, eligible self-employed individual, or sole proprietor; (2) if not a housing cooperative, eligible 501(c)(6) organization, or eligible destination marketing organization, employs no more than the greater of 500 employees or, if applicable, meets the size standard in number of employees established by the SBA in 13 C.F.R. 121.201 for the Applicant’s industry; (3) if a housing cooperative, eligible 501(c)(6) organization, or eligible destination marketing organization, employs no more than 300 employees; (4) if NAICS 72, employs no more than 500 employees per physical location; (5) a news organization that is majority owned or controlled by a NAICS code 511110 or 5151 business or a nonprofit public broadcasting entity with a trade or business under NAICS code 511110 or 5151, that e mploys no more than 500 employees (or, if applicable, the size standard in number of employees established by SBA in 13 C.F.R. 121.201 for the Applicant’s industry) per location; or (6) is a small business under the applicable revenue-based size standard established by SBA in 13 C.F.R. 1201.201 for the Applicant’s industry or under the SBA alternative size standard.For second draw - The Applicant has certified to the Lender that the Applicant, together with its affiliates (if applicable), (1) is an independent contractor, eligible self-employed individual, or sole proprietor with no employees; (2) employs no more than 300 employees; or (3) if NAICS 72 or eligible news organization, employs no more than 300 employees per physical location. (Note - For 01/19 Launch, if you have this optional for second draw, platform will not cause failure if you don’t provide this and will default to true) |
applicant_no_shuttered_venue_grant | boolean | Mandatory | true | Must be TRUE for validation. False will cause rejection with Attestations are not complete.”The Applicant has certified to the Lender that (1) it has not been approved for a Shuttered Venue Operator (SVO) grant from SBA as of the date of the loan application, and acknowledged that if the Applicant is approved for an SVO grant before SBA issues a loan number for the loan, the Applicant is ineligible for the loan and acceptance of any loan proceeds will be considered an unauthorized use.” |
applicant_has_reduction_in_gross_receipts | boolean | Conditional | true | Second draw - Must be TRUE for validation. False will cause rejection with Attestations are not complete. “The Applicant has realized a reduction in gross receipts in excess of 25% relative to the relevant comparison time period. For loans greater than $150,000, Applicant has provided documentation to the lender substantiating the decline in gross receipts. For loans of $150,000 or less, Applicant will provide documentation substantiating the decline in gross receipts upon or before seeking loan forgiveness for the Second Draw Paycheck Protection Program Loan or upon SBA request.” |
applicant_wont_receive_another_second_draw | boolean | Conditional | true | Second draw - Must be TRUE for validation. False will cause rejection with Attestations are not complete. “The Applicant has not and will not receive another Second Draw Paycheck Protection Program Loan.” |
applicant_meets_size_standard | Number | Conditional | 1 | First draw only required - 1=No more than 500 (or 300 employees, if applicable), 2=SBA industry size - no validation on number_of_employees, 3 = SBA alternative size - no validation on number_of_employees.”The Applicant, together with its affiliates (if applicable), (1) is an independent contractor, self-employed individual, or sole proprietor with noemployees; (2) if not a housing cooperative, eligible 501(c)(6) organization, or eligible destination marketing organization, employs no more thanthe greater of 500 employees or, if applicable, the size standard in number of employees established by SBA in 13 C.F.R. 121.201 for the Applicant’s industry; (3) if a housing cooperative, eligible 501(c)(6) organization, or eligible destination marketing organization, employs no more than 300employees; (4) if NAICS 72, employs no more than 500 employees per physical location; (5) if a news organization that is majority owned orcontrolled by a NAICS code 511110 or 5151 business or a nonprofit public broadcasting entity with a trade or business under NAICS code 511110or 5151, employs no more than 500 employees (or, if applicable, the size standard in number of employees established by SBA in 13 C.F.R. 121.201 for the Applicant’s industry) per location; or (6) is a small business under the applicable revenue-based size standard established by SBA in 13C.F.R. 121.201 for the Applicant’s industry or under the SBA alternative size standard.” |
lender_contracted_third_party | Boolean | Mandatory | false | true or false - “Has the Lender directly contracted with a third party to assist in the preparation of the loan application or application materials, or to perform other services in connection with this loan?” |
loan_request_is_necessary | boolean | Mandatory | true | Must be TRUE for validation. False will cause rejection with Attestations are not complete. “The Applicant has certified to the Lender that the Applicant is eligible under the Paycheck Protection Program Rules.” |
has_other_businesses | boolean | Mandatory | true | True or False, “Is the Applicant or any owner of the Applicant an owner of any other business, or have common management (including amanagement agreement) with any other business?” |
all_employees_residency | boolean | Mandatory | true | True or False, Must be TRUE to submit. “The Applicant has certified that the principal place of residence for all employees included in the Applicant’s payroll calculation is the United States” |
second_draw_ppp_loan | boolean | Mandatory | false | Is the loan second draw loan - True or False |
ppp_first_draw_sba_loan_number | number | Optional | 1234567890 | Second draw - First draw sba loan number - Required for second draw PPP Loan |
ppp_first_draw_loan_amount | number | Optional | 2000.00 | Second draw - First draw ppp loan request amount - Required for second draw PPP Loan |
lender_application_number | String | Optional | “12345” | lender application number, this will be saved and passed through to eTran as lenderApplicNmb in the etran.xsd. Number of characters allowed for Lender application number restricted to 20 alphanumeric characters (non-alphanumeric characters are allowed but they count double). |
schedule_c_2483_form | Boolean | Optional | false | Depicts whether Borrower is using any of the 2483 Schedule C forms. Allowed only for borrower business types of 1,16,17,26,27 |
schedule_c_tax_year | String | Conditional | “2019” | Depicts which year (2019 or 2020) Borrower is using, for their Gross Income. Only required if schedule_c_2483_form is true |
schedule_c_gross_income | number | Conditional | 1000.00 | Depicts Total Amount of Gross Income (from IRS Form 1040, Schedule C, Line 7). Only required if schedule_c_2483_form is true |
Request Path Parameters
Not Applicable
Request Query Parameters
Not Applicable
Request Form Data Parameters
Not Applicable
Response (Sample)
{
"business": {
"owners": [
{
"business_type": 2,
"tin_type": 0,
"tin": "252-75-1625",
"slug": "3456f327-f9ec-48c7-a9eb-7a628da63d4f",
"owner_type": 1,
"business_name": "ABC Corp",
"first_name": "James",
"last_name": "Marshall",
"title": "Director",
"ownership_percentage": 25.0,
"address_line_1": "123 Second St",
"address_line_2": "",
"city": "Manhattan",
"state": "NY",
"zip_code": "10004",
"zip_code_plus4": "1234",
"position": "Director",
"veteran_status": "1",
"gender": "M",
"ethnicity": "N",
"race": [
"1",
"2"
]
}
],
"slug": "1d7916f1-5301-4af3-8354-e0941e3a00eb",
"naics_code": "722513",
"business_type": 1,
"dba_tradename": "ABC Corp",
"legal_name": "ABC Corp",
"first_name": "James",
"last_name": "Marshall",
"address_line_1": "5050 Ritter Rd",
"address_line_2": "Suite B",
"city": "Mechanicsburg",
"state": "PA",
"zip_code": "17055",
"zip_code_plus4": "1234",
"tin": "835-88-1068",
"tin_type": 0,
"phone_number": "548-25-6218",
"primary_contact": "James",
"primary_contact_email": "user@example.com",
"is_franchise": true,
"is_sba_listed_franchise": true,
"franchise_code": "S2956",
"date_of_establishment": "2019-01-01"
},
"status": "Pending Validation",
"organization": {
"name": "PERF8888",
"etran_location_id": "8888",
"slug": "f399f9b4-1e98-447e-9c66-5abda327eba1"
},
"created_at": "2021-01-18T18:39:49.768882Z",
"slug": "3c00737c-7aa5-4741-93bb-7e4f3e5213de",
"sba_application_id": null,
"sba_number": null,
"submission_confirmation_id": "50f101798164",
"validation_errors": null,
"low_to_moderate_income": null,
"average_monthly_payroll": 1000,
"loan_amount": 2500,
"refinance_of_eidl_amount": null,
"refinance_of_eidl_loan_number": "string",
"number_of_employees": 1,
"period_1_quarter": "1",
"period_1_revenue": 0,
"period_2_quarter": "1",
"period_2_revenue": 0,
"purpose_of_loan_payroll": true,
"purpose_of_loan_mortgage": false,
"purpose_of_loan_utilities": false,
"purpose_of_loan_covered_operations_expenditures": false,
"purpose_of_loan_covered_property_damage": false,
"purpose_of_loan_covered_supplier_costs": false,
"purpose_of_loan_covered_worker_protection_expenditure": false,
"purpose_of_loan_other": false,
"purpose_of_loan_other_info": "",
"ineligible_general": true,
"ineligible_bad_loan": true,
"ineligible_criminal_charges": true,
"ineligible_felony": true,
"applicant_is_eligible": true,
"applicant_meets_revenue_test_and_size_standard": true,
"applicant_no_shuttered_venue_grant": true,
"applicant_has_reduction_in_gross_receipts": true,
"applicant_wont_receive_another_second_draw": true,
"applicant_meets_size_standard": 1,
"lender_contracted_third_party": true,
"loan_request_is_necessary": true,
"has_other_businesses": true,
"received_eidl": false,
"all_employees_residency": true,
"second_draw_ppp_loan": false,
"ppp_first_draw_sba_loan_number": 0,
"ppp_first_draw_loan_amount": 0,
"lender_application_number": "12345",
"sba_decision_date:null,
"schedule_c_2483_form": true,
"schedule_c_tax_year": "2019",
"schedule_c_gross_income": 20000.00
}
HTTP Response Code: 200
Parameter Name | Data Type | Sample Value | Description |
---|---|---|---|
business | JSON Object |
||
owners | JSON Array |
||
business_type | number | 2 | Business type of owner |
tin_type | number | 0 | Depicts whether TIN of the owner is SSN or EIN or ITIN. EIN=0, SSN=1, ITIN=4 |
tin | String | 252-75-1625 | TIN of the owner (EIN or SSN) |
slug | String | 3456f327-f9ec-48c7-a9eb-7a628da63d4f | SLUG ID/Unique ID of the Owner in SBA system |
owner_type | Number | 1 | Owner type for the Business. Valid values are 1 or 2 (1 for PERSON and 2 for BUSINESS) |
business_name | String | Null | Business Owner name. It will be null if owner is a Person |
first_name | String | James | Owner’s first name |
last_name | String | Marshall | Owner’s last name |
title | String | Director | Title of the owner |
ownership_percentage | Number | 25.0 | % Ownership of the owner. Value can vary from 20 to 100 |
address_line_1 | String | 123 Second St | Address Line 1 of the owner |
address_line_2 | String | Address Line 2 of owner | |
city | String | Manhattan | City of owner’s address |
state | String | NY | State code of owner’s address |
zip_code | String | 10004 | Zip code of owner’s address |
zip_code_plus4 | String | 1234 | Zip + 4 of owner’s address |
position | String | Director | Position of owner based on demographic information provided as part of Loan application |
veteran_status | String | 1 | Veteran status of owner based on information provided as part of Loan application (1=Non-Veteran; 2=Veteran; 3=Service-Disabled Veteran;4=Spouse of Veteran; X=Not Disclosed) |
gender | String | M | Gender of the owner based on information provided as part of Loan application (M=Male; F=Female; X=Not Disclosed) |
ethnicity | String | N | Ethnicity of the owner based on information provided as part of Loan application (H=Hispanic or Latino; N=Not Hispanic or Latino; X=Not Disclosed) |
race | Array | 1 | Race of the owner based on information provided as part of Loan application, multiple values allowed (1=American Indian or Alaska Native; 2=Asian; 3=Black or African-American; 4=Native Hawaiian or Pacific Islander; 5=White; X=Not Disclosed) |
slug | String | 1d7916f1-5301-4af3-8354-e0941e3a00eb | Slug / Unique id of the Business in SBA system |
naics_code | Number | 722513 | NAICS code of the Business |
business_type | number | 1 | Business type. Valid values are SOLE_PROPRIETOR = 1, PARTNERSHIP = 2, C_CORP = 3, LLC = 4, JOINT_VENTURE = 5, PROFESSIONAL_ASSOCIATION = 6, TRUST = 7, COOPERATIVE = 8, LLP = 9, S_CORP = 10, NPO or Non-Profit Organization (Other 501(c)) = 11, TENANT_IN_COMMON = 12, ESOP = 13, NONPROFIT_CHILD_CARE = 14, ROBS = 15, ELIG_SELF_EMPLOYED = 16, INDEPENDENT_CONTRACTOR = 17, NONPROFIT_C_3_ORGANIZTION = 21, NONPROFIT_C_6_ORGANIZTION = 22, VETERANS_ORG = 23, TRIBAL = 24, HOUSING_COOPERATIVE = 25, SINGLE_MEMBER_LLC = 26, QUALIFIED_JOINT_VENTURE (spouses) = 27 |
dba_tradename | String | ABC Corp | Doing Business As/Trade name for Business |
legal_name | String | ABC Corp | Borrower Name |
first_name | String | James | first name - Borrower |
last_name | String | Marshall | last name - Borrower |
address_line_1 | String | 5050 Ritter Rd | Address Line 1 of Borrower |
address_line_2 | String | Suite B | Address Line 2 of Borrower |
city | String | Mechanicsburg | City of Borrower |
state | String | PA | State code of Borrower |
zip_code | String | 17055 | Zip code of Borrower |
zip_code_plus4 | String | 1234 | Zip + 4 of the Borrower |
tin | String | 435-88-1068 | TIN of the Borrower (EIN/SSN/ITIN) |
tin_type | number | 1 | TIN Type of the Borrower (EIN=0, SSN=1, ITIN=4) |
phone_number | Number | 5482562187 | Business phone number |
primary_contact | String | James | Primary contact for Business |
primary_contact_email | String | user@example.com | Email address for Business |
is_franchise | Boolean | true | Is Busienss a Franchise listed ? |
is_sba_listed_franchise | boolean | true | Whether Franchise is listed with SBA |
franchise_code | String | S2956 | SBA Franchise Identifier Code |
date_of_establishment | String | 2019-01-01 | Date of establishment of Business in YYYY-MM-DD format |
status | String | Pending Validation | Status of PPP Loan Request. Valid values are Pending Validation, Failed validation, Under Review, Approved by SBA, Not Approved by SBA, Further Research Required |
name | String | PERF8888 | Name of the origanization as defined in etran |
etran_location_id | String | 8888 | etran location id as defined in etran |
slug | String | 3c00737c-7aa5-4741-93bb-7e4f3e5213de | Slug/Unique ID of the Oranization |
created_at | string | 2021-01-18T18:39:49.768882Z | Timestamp with timezone (in UTC) at which Loan request was created in SBA system |
slug | String | 9c00737c-7aa5-4741-93bb-7e4f3e5213de | Slug/Unique ID of Loan application. This slug id should be used for loan status or withdrawal |
sba_application_id | String | null | SBA Application id |
sba_number | number | null | sba number of the loan request |
submission_confirmation_id | String | 50f101798164 | Unique confirmation id |
validation_errors | String | null | Validation errors if any |
average_monthly_payroll | Number | 1000.0 | Average monthly payroll of borrower. (If Applicant submitted SBA Form 2483-C, it was the amount entered in B in either table, plus the amount entered in C for Applicants with employees (if applicable) or If Applicant submitted SBA Form 2483-SD-C, it was the amount entered in B in either table, plus the amount entered in C for Applicants with employees (if applicable) |
loan_amount | Number | 2500.0 | Loan amount submitted as part of Loan request to SBA |
refinance_of_eidl_amount | Number | 1000 | EIDL Loan amount, if applicable. Only valid for first draw loans and in that case it’s optional |
refinance_of_eidl_loan_number | String | 123456789 | EIDL loan number, if aplicable |
number_of_employees | Number | 1 | Number of employees, submitted as part of Loan request to SBA |
period_1_quarter | String | 1 | Required if second_draw_ppp_loan is true |
period_1_revenue | Number | 10000 | Required if second_draw_ppp_loan is true |
period_2_quarter | String | 1 | Required if second_draw_ppp_loan is true |
period_2_revenue | Number | 6000 | Required if second_draw_ppp_loan is true |
purpose_of_loan_payroll | boolean | true | true or false: See 2483 Form - Fields Mapping to API Elements |
purpose_of_loan_mortgage | boolean | false | true or false: See 2483 Form - Fields Mapping to API Elements |
purpose_of_loan_utilities | boolean | false | true or false: See 2483 Form - Fields Mapping to API Elements |
purpose_of_loan_covered_operations_expenditures | boolean | false | true or false: See 2483 Form - Fields Mapping to API Elements |
purpose_of_loan_covered_property_damage | boolean | false | true or false: See 2483 Form - Fields Mapping to API Elements |
purpose_of_loan_covered_supplier_costs | boolean | false | true or false: See 2483 Form - Fields Mapping to API Elements |
purpose_of_loan_covered_worker_protection_expenditure | boolean | false | true or false: See 2483 Form - Fields Mapping to API Elements |
purpose_of_loan_other | boolean | false | true or false: See 2483 Form - Fields Mapping to API Elements |
purpose_of_loan_other_info | string | null | other info: See 2483 Form - Fields Mapping to API Elements |
ineligible_general | boolean | true | Must be TRUE for validation. False will cause rejection with Attestations are not complete |
ineligible_bad_loan | boolean | true | Must be TRUE for validation. False will cause rejection with Attestations are not complete |
ineligible_criminal_charges | boolean | true | Must be TRUE for validation. False will cause rejection with Attestations are not complete |
ineligible_felony | boolean | true | Must be TRUE for validation. False will cause rejection with Attestations are not complete |
applicant_is_eligible | boolean | true | Must be TRUE for validation. False will cause rejection with Attestations are not complete |
applicant_meets_revenue_test_and_size_standard | boolean | true | Must be TRUE for validation. False will cause rejection with Attestations are not complete |
applicant_no_shuttered_venue_grant | boolean | true | Must be TRUE for validation. False will cause rejection with Attestations are not complete |
applicant_has_reduction_in_gross_receipts | boolean | true | Must be TRUE for validation. False will cause rejection with Attestations are not complete |
applicant_wont_receive_another_second_draw | boolean | true | Must be TRUE for validation. False will cause rejection with Attestations are not complete |
applicant_meets_size_standard | Number | 1 | 1=No more than 500, 2=SBA industry size - no validation on number_of_employees, 3 = SBA alternative size - no validation on number_of_employees |
lender_contracted_third_party | Boolean | false | true or false |
loan_request_is_necessary | boolean | true | Must be TRUE for validation. False will cause rejection with Attestations are not complete |
has_other_businesses | boolean | true | True or False |
all_employees_residency | boolean | true | True or False |
second_draw_ppp_loan | boolean | false | True or False |
ppp_first_draw_sba_loan_number | number | 123456789 | First draw SBA Loan number, appicable for second draw PPP Loan only |
ppp_first_draw_loan_amount | number | 2000.00 | First draw loan amount, applicable for second draw PPP Loan only |
lender_application_number | String | 12345 | lender application number, this will be saved and passed through to eTran as lenderApplicNmb in the etran.xsd |
sba_decision_date | String | null | Date on which SBA makes a decision on Loan request Application |
schedule_c_2483_form | Boolean | false | Depicts whether Borrower is using any of the 2483 Schedule C forms. Allowed only for borrower business types of 1,16,17,26,27 |
schedule_c_tax_year | String | “2019” | Depicts which year (2019 or 2020) Borrower is using, for their Gross Income. Only required if schedule_c_2483_form is true |
schedule_c_gross_income | number | 1000.00 | Depicts Total Amount of Gross Income (from IRS Form 1040, Schedule C, Line 7). Only required if schedule_c_2483_form is true |
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, PPP 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
Lenders can use this API to submit Loan request. SBA number may not get assigned immediately.
2. Get Details of ALL PPP Loan Requests
This API fetches the list & status of ALL PPP Loan Requests submitted to SBA, for a paticular lender
Request type: HTTPS
API Endpoint:
GET /api/origination/
Request (Sample)
/api/origination/
api/origination/?status=Further Research Required
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 | 2 | The page number of the records to be fetched (for pagination) |
page_size | Number | Optional | 500 | Max Number of Loans to be fetched in one API call.Default is 100 and max allowed is 1000 |
status | string | Optional | Pending Validation | Loan Status |
Request Form Data Parameters
Not Applicable
Response (Sample)
{
"count": 1000,
"next": "https://forgiveness.sba.gov/api/origination/?page=2",
"previous": null,
"results": [
{
"business": {
"owners": [
{
"slug": "3456f327-f9ec-48c7-a9eb-7a628da63d4f",
"owner_type": 1,
"business_name": "ABC Corp",
"first_name": "James",
"last_name": "Marshall",
"title": "Director",
"business_type": 2,
"ownership_percentage": 25.0,
"tin": "252751625",
"tin_type": 0,
"address_line_1": "123 Second St",
"address_line_2": "",
"city": "Manhattan",
"state": "NY",
"zip_code": "10004",
"zip_code_plus4": "1234",
"position": "Director",
"veteran_status": "1",
"gender": "M",
"ethnicity": "N",
"race": [
"1",
"2"
]
}
],
"naics_code": 722513,
"franchise_code": "S3493",
"slug": "1d7916f1-5301-4af3-8354-e0941e3a00eb",
"business_type": 2,
"dba_tradename": "ABC Corp",
"legal_name": "ABC Corp",
"first_name": null,
"last_name": null,
"address_line_1": "5050 Ritter Rd",
"address_line_2": "Suite B",
"city": "Mechanicsburg",
"state": "PA",
"zip_code": "17055",
"zip_code_plus4": "1234",
"tin": "435881068",
"tin_type": 0,
"phone_number": "5482562187",
"primary_contact": "James",
"primary_contact_email": "user@example.com",
"is_franchise": true,
"is_sba_listed_franchise": true,
"date_of_establishment": "2019-01-01"
},
"status": "Pending Validation",
"slug": "3c00737c-7aa5-4741-93bb-7e4f3e5213de",
"average_monthly_payroll": 1000.0,
"loan_amount": 2500.0,
"refinance_of_eidl_amount": null,
"refinance_of_eidl_loan_number": null,
"number_of_employees": 1,
"period_1_quarter": 1,
"period_1_revenue": 10000.0,
"period_2_quarter": 1,
"period_2_revenue": 6000.0,
"purpose_of_loan_payroll": true,
"purpose_of_loan_mortgage": false,
"purpose_of_loan_utilities": false,
"purpose_of_loan_covered_operations_expenditures": false,
"purpose_of_loan_covered_property_damage": false,
"purpose_of_loan_covered_supplier_costs": false,
"purpose_of_loan_covered_worker_protection_expenditure": false,
"purpose_of_loan_other": false,
"purpose_of_loan_other_info": "",
"ineligible_general": true,
"ineligible_bad_loan": true,
"ineligible_criminal_charges": true,
"ineligible_felony": true,
"has_other_businesses": true,
"received_eidl": true,
"all_employees_residency": true,
"sba_application_id": null,
"ppp_first_draw_sba_loan_number": null,
"ppp_first_draw_loan_amount": null,
"sba_number": 1234567890,
"validation_errors": null,
"second_draw_ppp_loan": false,
"applicant_meets_size_standard": 1,
"submission_confirmation_id": "50f101798164",
"applicant_is_eligible": true,
"loan_request_is_necessary": true,
"applicant_meets_revenue_test_and_size_standard": true,
"applicant_no_shuttered_venue_grant": true,
"lender_contracted_third_party": false,
"applicant_has_reduction_in_gross_receipts": false,
"applicant_wont_receive_another_second_draw": false,
"lender_application_number": null,
"organization": 7261,
"sba_decision_date": '2021-01-30'
"schedule_c_2483_form": true,
"schedule_c_tax_year": "2019",
"schedule_c_gross_income": 20000.00
}
]
}
Response Parameters
HTTP Response Code: 200
Parameter Name | Data Type | Sample Value | Description |
---|---|---|---|
count | Number | 1 | The total count of the PPP Loan requests. |
next | String | null | The URI of the next set of PPP Loan requests to be fetched |
previous | String | null | The URI of the previous set of PPP Loan requests to be fetched |
results | JSON Array |
||
business | JSON Object |
||
owners | JSON Array |
||
slug | String | 3456f327-f9ec-48c7-a9eb-7a628da63d4f | SLUG ID/Unique ID of the Owner in SBA system |
owner_type | Number | 1 | Owner type for the Business. Valid values are 1 or 2 (1 for PERSON and 2 for BUSINESS) |
business_name | String | Null | Business Owner name. It will be null if owner is a Person |
first_name | String | James | Owner’s first name |
last_name | String | Marshall | Owner’s last name |
title | String | Director | Title of the owner |
business_type | Number | 2 | Owner’s Business type (if owner is business). Valid values are SOLE_PROPRIETOR = 1, PARTNERSHIP = 2, C_CORP = 3, LLC = 4, JOINT_VENTURE = 5, PROFESSIONAL_ASSOCIATION = 6, TRUST = 7, COOPERATIVE = 8, LLP = 9, S_CORP = 10, NPO or Non-Profit Organization (Other 501(c)) = 11, TENANT_IN_COMMON = 12, ESOP = 13, NONPROFIT_CHILD_CARE = 14, ROBS = 15, ELIG_SELF_EMPLOYED = 16, INDEPENDENT_CONTRACTOR = 17, NONPROFIT_C_3_ORGANIZTION = 21, NONPROFIT_C_6_ORGANIZTION = 22, VETERANS_ORG = 23, TRIBAL = 24, HOUSING_COOPERATIVE = 25, SINGLE_MEMBER_LLC = 26, QUALIFIED_JOINT_VENTURE (spouses) = 27 |
ownership_percentage | Number | 25.0 | % Ownership of the owner. Value can vary from 20 to 100 |
tin | String | 252751625 | TIN of the owner (EIN or SSN) |
tin_type | Number | 0 | Depicts whether TIN of the owner is SSN or EIN or ITIN. EIN=0, SSN=1, ITIN=4 |
address_line_1 | String | 123 Second St | Address Line 1 of the owner |
address_line_2 | String | Address Line 2 of owner | |
city | String | Manhattan | City of owner’s address |
state | String | NY | State code of owner’s address |
zip_code | String | 10004 | Zip code of owner’s address |
zip_code_plus4 | String | 1234 | Zip + 4 of owner’s address |
position | String | Director | Position of owner based on demographic information provided as part of Loan application |
veteran_status | String | 1 | Veteran status of owner based on information provided as part of Loan application (1=Non-Veteran; 2=Veteran; 3=Service-Disabled Veteran;4=Spouse of Veteran; X=Not Disclosed) |
gender | String | M | Gender of the owner based on information provided as part of Loan application (M=Male; F=Female; X=Not Disclosed) |
ethnicity | String | N | Ethnicity of the owner based on information provided as part of Loan application (H=Hispanic or Latino; N=Not Hispanic or Latino; X=Not Disclosed) |
race | Array | 1 | Race of the owner based on information provided as part of Loan application, multiple values allowed (1=American Indian or Alaska Native; 2=Asian; 3=Black or African-American; 4=Native Hawaiian or Pacific Islander; 5=White; X=Not Disclosed) |
naics_code | Number | 722513 | NAICS code of the Business |
franchise_code | String | S2956 | SBA Franchise Identifier Code |
slug | String | 1d7916f1-5301-4af3-8354-e0941e3a00eb | Slug / Unique id of the Business in SBA system |
business_type | Number | 2 | Business type. Valid values are SOLE_PROPRIETOR = 1, PARTNERSHIP = 2, C_CORP = 3, LLC = 4, JOINT_VENTURE = 5, PROFESSIONAL_ASSOCIATION = 6, TRUST = 7, COOPERATIVE = 8, LLP = 9, S_CORP = 10, NPO or Non-Profit Organization (Other 501(c)) = 11, TENANT_IN_COMMON = 12, ESOP = 13, NONPROFIT_CHILD_CARE = 14, ROBS = 15, ELIG_SELF_EMPLOYED = 16, INDEPENDENT_CONTRACTOR = 17, NONPROFIT_C_3_ORGANIZTION = 21, NONPROFIT_C_6_ORGANIZTION = 22, VETERANS_ORG = 23, TRIBAL = 24, HOUSING_COOPERATIVE = 25, SINGLE_MEMBER_LLC = 26, QUALIFIED_JOINT_VENTURE (spouses) = 27 |
dba_tradename | String | ABC Corp | Doing Business As/Trade name for Business |
legal_name | String | ABC Corp | Borrower Business Name |
first_name | String | null | Borrower First Name |
last_name | String | null | Borrower Last Name |
address_line_1 | String | 5050 Ritter Rd | Address Line 1 of Borrower |
address_line_2 | String | Suite B | Address Line 2 of Borrower |
city | String | Mechanicsburg | City of Borrower |
state | String | PA | State code of Borrower |
zip_code | String | 17055 | Zip code of Borrower |
zip_code_plus4 | String | 1234 | Zip + 4 of the Borrower |
tin | String | 435881068 | TIN of the Borrower (EIN/SSN/ITIN) |
tin_type | Number | 0 | TIN Type of the Borrower (EIN=0, SSN=1, ITIN=4) |
phone_number | string | 5482562187 | Business phone number |
primary_contact | String | James | Primary contact for Business |
primary_contact_email | String | user@example.com | Email address for Business |
is_franchise | Boolean | true | Is Busienss a Franchise listed ? |
is_sba_listed_franchise | Boolean | true | Is Busienss a Franchise which is listed with SBA ? |
date_of_establishment | String | 2019-01-01 | Date of establishment of Business in YYYY-MM-DD format |
status | String | Pending Validation | Status of PPP Loan Request. Valid values are Pending Validation, Failed Validation, Under Review, Approved by SBA, Not Approved by SBA, Further Research Required |
slug | String | 3c00737c-7aa5-4741-93bb-7e4f3e5213de | Slug/Unique ID of the Loan Request. This slug id should be used to check status of Loan request or to withdraw a Loan application |
average_monthly_payroll | Number | 1000.0 | Average monthly payroll of borrower |
loan_amount | Number | 2500.0 | Loan amount submitted as part of Loan request to SBA |
refinance_of_eidl_amount | Number | null | if Borrower had an EIDL loan and are refinancing (as part of a first draw PPP loan), include it in this field. |
refinance_of_eidl_loan_number | String | null | if Borrower had an EIDL loan and are refinancing (as part of a first draw PPP loan), include it in this field. |
number_of_employees | Number | 1 | Number of employees, submitted as part of Loan request to SBA |
period_1_quarter | String | 1 | Period 1 quarter |
period_1_revenue | Number | 10000.0 | Period 1 revenue |
period_2_quarter | String | 1 | Period 2 quarter |
period_2_revenue | Number | 6000.0 | Period 2 Revenue |
purpose_of_loan_payroll | Boolean | true | Purpose of Loan - Payroll |
purpose_of_loan_mortgage | Boolean | false | Purpose of Loan - Mortgage |
purpose_of_loan_utilities | Boolean | false | Purpose of Loan - Utilities |
purpose_of_loan_covered_operations_expenditures | Boolean | false | Purpose of Loan - Operations Expenditure |
purpose_of_loan_covered_property_damage | Boolean | false | Purpose of Loan - Property Damage |
purpose_of_loan_covered_supplier_costs | Boolean | false | Purpose of Loan - Supplier costs |
purpose_of_loan_covered_worker_protection_expenditure | Boolean | false | Purpose of Loan - Protection expenditure |
purpose_of_loan_other | Boolean | false | Purpose of Loan - Other |
purpose_of_loan_other_info | String | Purpose of Loan - Other info details | |
ineligible_general | Boolean | true | Borrower ineligible due Applicant or any owner of the Applicant presently suspended, debarred, proposed for debarment, declared ineligible, voluntarily excluded from participation in this transaction by any Federal department or agency, or presently involved in any bankruptcy |
ineligible_bad_loan | Boolean | true | Borrower ineligible due to Applicant, any owner of the Applicant, or any business owned or controlled by any of them, ever obtained a direct or guaranteed loan from SBA or any other Federal agency that is (a) currently delinquent, or (b) has defaulted in the last 7 years and caused a loss to the government |
ineligible_criminal_charges | Boolean | true | Borrower inelgible due Applicant (if an individual) or any individual owning 20% or more of the equity of the Applicant presently incarcerated or, for any felony, presently subject to an indictment, criminal information, arraignment, or other means by which formal criminal charges are brought in any jurisdiction |
ineligible_felony | Boolean | true | Borrower inelgible due to Within the last 5 years, for any felony involving fraud, bribery, embezzlement, or a false statement in a loan application or an application for federal financial assistance, or within the last year, for any other felony, has the Applicant (if an individual) or any owner of the Applicant 1) been convicted; 2) pleaded guilty; 3) pleaded nolo contendere; or 4) commenced any form of parole or probation (including probation before judgment) |
has_other_businesses | Boolean | true | Applicant or any owner of the Applicant an owner of any other business, or have common management (including a management agreement) with any other business |
all_employees_residency | Boolean | true | United States the principal place of residence for all employees of the Applicant included in the Applicant’s payroll calculation |
sba_application_id | String | null | Application ID provided by etran after Loan is submitted to etran |
ppp_first_draw_sba_loan_number | String | null | PPP First Draw SBA Loan Number |
ppp_first_draw_loan_amount | Number | null | PPP First Draw SBA Loan amount |
sba_number | number | 1234567890 | SBA number assigned by Etran once SBA approves Loan request |
validation_errors | String | {"Reason":"Do Not Pay - Death Sources","StartDate":"01/13/2021","EndDate":null} | Details of validation errors or not approved reason, received from Etran |
second_draw_ppp_loan | Boolean | false | Is this Loan a second draw PPP Loan (true or false) |
applicant_meets_size_standard | Number | 1 | Applicant meets size standard (1=No more than 500, 2=SBA industry size, 3 = SBA alternative size) |
submission_confirmation_id | String | “693c01798166” | Submission confirmation id received in response of loan application submission |
applicant_is_eligible | boolean | true | Lender confirmation that applicant is eligible for PPP Loan |
loan_request_is_necessary | boolean | true | Lender confirmation that Loan request is necessary |
applicant_meets_revenue_test_and_size_standard | boolean | true | Lender confirmation that applicant meets revenue test and size standard |
applicant_no_shuttered_venue_grant | boolean | true | The Applicant has certified to the Lender that (1) it has not been approved for a Shuttered Venue Operator (SVO) grant from SBA as of the date of the loan application, and acknowledged that if the Applicant is approved for an SVO grant |
before SBA issues a loan number for the loan, the Applicant is ineligible for the loan and acceptance of any loan proceeds will be considered an unauthorized use | |||
lender_contracted_third_party | boolean | false | Lender confirmation that Lender contacted third party |
applicant_has_reduction_in_gross_receipts | boolean | false | Applicant had revenue reduction |
applicant_wont_receive_another_second_draw | boolean | false | Applicant won’t receive another second draw loan |
lender_application_number | string | null | Lender application numner |
organization | Number | 7261 | Lender organization id as defined in etran system |
sba_decision_date | String | 2021-01-30 | Date on which SBA makes a decision on Loan request Application |
schedule_c_2483_form | Boolean | false | Depicts whether Borrower is using any of the 2483 Schedule C forms. Allowed only for borrower business types of 1,16,17,26,27 |
schedule_c_tax_year | String | “2019” | Depicts which year (2019 or 2020) Borrower is using, for their Gross Income. Only required if schedule_c_2483_form is true |
schedule_c_gross_income | number | 1000.00 | Depicts Total Amount of Gross Income (from IRS Form 1040, Schedule C, Line 7). Only required if schedule_c_2483_form is true |
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, PPP 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 PPP Loan 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 100 maximum records (default page size). Loan status and page size are optional parameters.
3. Get specific PPP Loan Request Details
This API is used for getting details of submitted PPP Loan request, using parameters like unique slug id (Loan request UUID) or TIN & TIN type
Request type: HTTPS
API Endpoint:
GET /api/origination/{slug}/
Request (Sample)
/api/origination/3456f327-f9ec-48c7-a9eb-7a628da63d4f/
/api/origination/?tin=210123458&tin_type=0 (note: In case Borrower succesfully applied for first draw and second draw loan in 2021, this will give both loans details in API response)
Request Parameters
Not Applicable (No request body)
Request Path Parameters
Path Parameter Name | Data Type | Mandatory/Optional | Sample Value | Description |
---|---|---|---|---|
slug | UUID | Optional | 3456f327-f9ec-48c7-a9eb-7a628da63d4f | The UUID of the PPP Loan request |
tin | Number | Optional | 524457089 | TIN (EIN/SSN/ITIN) of the Borrower |
tin_type | Number | Optional | 0 | Tin type - 0 for EIN or 1 for SSN or 4 for ITIN |
Request Query Parameters
Not Applicable
Request Form Data Parameters
Not Applicable
Response (Sample)
{
"business": {
"owners": [
{
"slug": "3456f327-f9ec-48c7-a9eb-7a628da63d4f",
"owner_type": 1,
"business_name": "ABC Corp",
"first_name": "James",
"last_name": "Marshall",
"title": "Director",
"business_type": 2,
"ownership_percentage": 25.0,
"tin": "252751625",
"tin_type": 0,
"address_line_1": "123 Second St",
"address_line_2": "",
"city": "Manhattan",
"state": "NY",
"zip_code": "10004",
"zip_code_plus4": "1234",
"position": "Director",
"veteran_status": "1",
"gender": "M",
"ethnicity": "N",
"race": [
"1",
"2"
]
}
],
"naics_code": 722513,
"franchise_code": "S3493",
"slug": "1d7916f1-5301-4af3-8354-e0941e3a00eb",
"business_type": 2,
"dba_tradename": "ABC Corp",
"legal_name": "ABC Corp",
"first_name": null,
"last_name": null,
"address_line_1": "5050 Ritter Rd",
"address_line_2": "Suite B",
"city": "Mechanicsburg",
"state": "PA",
"zip_code": "17055",
"zip_code_plus4": "1234",
"tin": "435881068",
"tin_type": 0,
"phone_number": "5482562187",
"primary_contact": "James",
"primary_contact_email": "user@example.com",
"is_franchise": true,
"is_sba_listed_franchise": true,
"date_of_establishment": "2019-01-01"
},
"status": "Pending Validation",
"slug": "3c00737c-7aa5-4741-93bb-7e4f3e5213de",
"average_monthly_payroll": 1000.0,
"loan_amount": 2500.0,
"refinance_of_eidl_amount": null,
"refinance_of_eidl_loan_number": null,
"number_of_employees": 1,
"period_1_quarter": 1,
"period_1_revenue": 10000.0,
"period_2_quarter": 1,
"period_2_revenue": 6000.0,
"purpose_of_loan_payroll": true,
"purpose_of_loan_mortgage": false,
"purpose_of_loan_utilities": false,
"purpose_of_loan_covered_operations_expenditures": false,
"purpose_of_loan_covered_property_damage": false,
"purpose_of_loan_covered_supplier_costs": false,
"purpose_of_loan_covered_worker_protection_expenditure": false,
"purpose_of_loan_other": false,
"purpose_of_loan_other_info": "",
"ineligible_general": true,
"ineligible_bad_loan": true,
"ineligible_criminal_charges": true,
"ineligible_felony": true,
"has_other_businesses": true,
"received_eidl": true,
"all_employees_residency": true,
"sba_application_id": null,
"ppp_first_draw_sba_loan_number": null,
"ppp_first_draw_loan_amount": null,
"sba_number": 1234567890,
"validation_errors": null,
"second_draw_ppp_loan": false,
"applicant_meets_size_standard": 1,
"submission_confirmation_id": "50f101798164",
"applicant_is_eligible": true,
"loan_request_is_necessary": true,
"applicant_meets_revenue_test_and_size_standard": true,
"applicant_no_shuttered_venue_grant": true,
"lender_contracted_third_party": false,
"applicant_has_reduction_in_gross_receipts": false,
"applicant_wont_receive_another_second_draw": false,
"lender_application_number": null,
"organization": 7261,
"sba_decision_date": '2021-01-30',
"schedule_c_2483_form": true,
"schedule_c_tax_year": "2019",
"schedule_c_gross_income": 20000.00
}
Response Parameters
HTTP Response Code: 200
Parameter Name | Data Type | Sample Value | Description |
---|---|---|---|
business | JSON Object |
||
owners | JSON Array |
||
slug | String | 3456f327-f9ec-48c7-a9eb-7a628da63d4f | SLUG ID/Unique ID of the Owner in SBA system |
owner_type | Number | 1 | Owner type for the Business. Valid values are 1 or 2 (1 for PERSON and 2 for BUSINESS) |
business_name | String | Null | Business Owner name. It will be null if owner is a Person |
first_name | String | James | Owner’s first name |
last_name | String | Marshall | Owner’s last name |
title | String | Director | Title of the owner |
business_type | Number | 2 | Owner’s Business type (if owner is business). Valid values are SOLE_PROPRIETOR = 1, PARTNERSHIP = 2, C_CORP = 3, LLC = 4, JOINT_VENTURE = 5, PROFESSIONAL_ASSOCIATION = 6, TRUST = 7, COOPERATIVE = 8, LLP = 9, S_CORP = 10, NPO or Non-Profit Organization (Other 501(c)) = 11, TENANT_IN_COMMON = 12, ESOP = 13, NONPROFIT_CHILD_CARE = 14, ROBS = 15, ELIG_SELF_EMPLOYED = 16, INDEPENDENT_CONTRACTOR = 17, NONPROFIT_C_3_ORGANIZTION = 21, NONPROFIT_C_6_ORGANIZTION = 22, VETERANS_ORG = 23, TRIBAL = 24, HOUSING_COOPERATIVE = 25,SINGLE_MEMBER_LLC = 26, QUALIFIED_JOINT_VENTURE (spouses) = 27 |
ownership_percentage | Number | 25.0 | % Ownership of the owner. Value can vary from 20 to 100 |
tin | String | 252751625 | TIN of the owner (EIN or SSN) |
tin_type | Number | 0 | Depicts whether TIN of the owner is SSN or EIN or ITIN. EIN=0, SSN=1, ITIN=4 |
address_line_1 | String | 123 Second St | Address Line 1 of the owner |
address_line_2 | String | Address Line 2 of owner | |
city | String | Manhattan | City of owner’s address |
state | String | NY | State code of owner’s address |
zip_code | String | 10004 | Zip code of owner’s address |
zip_code_plus4 | String | 1234 | Zip + 4 of owner’s address |
position | String | Director | Position of owner based on demographic information provided as part of Loan application |
veteran_status | String | 1 | Veteran status of owner based on information provided as part of Loan application (1=Non-Veteran; 2=Veteran; 3=Service-Disabled Veteran;4=Spouse of Veteran; X=Not Disclosed) |
gender | String | M | Gender of the owner based on information provided as part of Loan application (M=Male; F=Female; X=Not Disclosed) |
ethnicity | String | N | Ethnicity of the owner based on information provided as part of Loan application (H=Hispanic or Latino; N=Not Hispanic or Latino; X=Not Disclosed) |
race | Array | 1 | Race of the owner based on information provided as part of Loan application, multiple values allowed (1=American Indian or Alaska Native; 2=Asian; 3=Black or African-American; 4=Native Hawaiian or Pacific Islander; 5=White; X=Not Disclosed) |
naics_code | Number | 722513 | NAICS code of the Business |
franchise_code | String | S2956 | SBA Franchise Identifier Code |
slug | String | 1d7916f1-5301-4af3-8354-e0941e3a00eb | Slug / Unique id of the Business in SBA system |
business_type | Number | 2 | Business type. Valid values are SOLE_PROPRIETOR = 1, PARTNERSHIP = 2, C_CORP = 3, LLC = 4, JOINT_VENTURE = 5, PROFESSIONAL_ASSOCIATION = 6, TRUST = 7, COOPERATIVE = 8, LLP = 9, S_CORP = 10, NPO or Non-Profit Organization (Other 501(c)) = 11, TENANT_IN_COMMON = 12, ESOP = 13, NONPROFIT_CHILD_CARE = 14, ROBS = 15, ELIG_SELF_EMPLOYED = 16, INDEPENDENT_CONTRACTOR = 17, NONPROFIT_C_3_ORGANIZTION = 21, NONPROFIT_C_6_ORGANIZTION = 22, VETERANS_ORG = 23, TRIBAL = 24, HOUSING_COOPERATIVE = 25,SINGLE_MEMBER_LLC = 26, QUALIFIED_JOINT_VENTURE (spouses) = 27 |
dba_tradename | String | ABC Corp | Doing Business As/Trade name for Business |
legal_name | String | ABC Corp | Borrower Business Name |
first_name | String | null | Borrower First Name |
last_name | String | null | Borrower Last Name |
address_line_1 | String | 5050 Ritter Rd | Address Line 1 of Borrower |
address_line_2 | String | Suite B | Address Line 2 of Borrower |
city | String | Mechanicsburg | City of Borrower |
state | String | PA | State code of Borrower |
zip_code | String | 17055 | Zip code of Borrower |
zip_code_plus4 | String | 1234 | Zip + 4 of the Borrower |
tin | String | 435881068 | TIN of the Borrower (EIN/SSN/ITIN) |
tin_type | Number | 0 | TIN Type of the Borrower (EIN=0, SSN=1, ITIN=4) |
phone_number | string | 5482562187 | Business phone number |
primary_contact | String | James | Primary contact for Business |
primary_contact_email | String | user@example.com | Email address for Business |
is_franchise | Boolean | true | Is Busienss a Franchise listed ? |
is_sba_listed_franchise | Boolean | true | Is Busienss a Franchise which is listed with SBA ? |
date_of_establishment | String | 2019-01-01 | Date of establishment of Business in YYYY-MM-DD format |
status | String | Pending Validation | Status of PPP Loan Request. Valid values are Pending Validation, Failed Validation, Under Review, Approved by SBA, Not Approved by SBA) |
slug | String | 3c00737c-7aa5-4741-93bb-7e4f3e5213de | Slug/Unique ID of the Loan Request. This slug id should be used to check status of Loan request or to withdraw a Loan application |
average_monthly_payroll | Number | 1000.0 | Average monthly payroll of borrower |
loan_amount | Number | 2500.0 | Loan amount submitted as part of Loan request to SBA |
refinance_of_eidl_amount | Number | null | if Borrower had an EIDL loan and are refinancing (as part of a first draw PPP loan), include it in this field. |
refinance_of_eidl_loan_number | String | null | if Borrower had an EIDL loan and are refinancing (as part of a first draw PPP loan), include it in this field. |
number_of_employees | Number | 1 | Number of employees, submitted as part of Loan request to SBA |
period_1_quarter | String | 1 | Period 1 quarter |
period_1_revenue | Number | 10000.0 | Period 1 revenue |
period_2_quarter | String | 1 | Period 2 quarter |
period_2_revenue | Number | 6000.0 | Period 2 Revenue |
purpose_of_loan_payroll | Boolean | true | Purpose of Loan - Payroll |
purpose_of_loan_mortgage | Boolean | false | Purpose of Loan - Mortgage |
purpose_of_loan_utilities | Boolean | false | Purpose of Loan - Utilities |
purpose_of_loan_covered_operations_expenditures | Boolean | false | Purpose of Loan - Operations Expenditure |
purpose_of_loan_covered_property_damage | Boolean | false | Purpose of Loan - Property Damage |
purpose_of_loan_covered_supplier_costs | Boolean | false | Purpose of Loan - Supplier costs |
purpose_of_loan_covered_worker_protection_expenditure | Boolean | false | Purpose of Loan - Protection expenditure |
purpose_of_loan_other | Boolean | false | Purpose of Loan - Other |
purpose_of_loan_other_info | String | Purpose of Loan - Other info details | |
ineligible_general | Boolean | true | Borrower ineligible due Applicant or any owner of the Applicant presently suspended, debarred, proposed for debarment, declared ineligible, voluntarily excluded from participation in this transaction by any Federal department or agency, or presently involved in any bankruptcy |
ineligible_bad_loan | Boolean | true | Borrower ineligible due to Applicant, any owner of the Applicant, or any business owned or controlled by any of them, ever obtained a direct or guaranteed loan from SBA or any other Federal agency that is (a) currently delinquent, or (b) has defaulted in the last 7 years and caused a loss to the government |
ineligible_criminal_charges | Boolean | true | Borrower inelgible due Applicant (if an individual) or any individual owning 20% or more of the equity of the Applicant presently incarcerated or, for any felony, presently subject to an indictment, criminal information, arraignment, or other means by which formal criminal charges are brought in any jurisdiction |
ineligible_felony | Boolean | true | Borrower inelgible due to Within the last 5 years, for any felony involving fraud, bribery, embezzlement, or a false statement in a loan application or an application for federal financial assistance, or within the last year, for any other felony, has the Applicant (if an individual) or any owner of the Applicant 1) been convicted; 2) pleaded guilty; 3) pleaded nolo contendere; or 4) commenced any form of parole or probation (including probation before judgment) |
has_other_businesses | Boolean | true | Applicant or any owner of the Applicant an owner of any other business, or have common management (including a management agreement) with any other business |
all_employees_residency | Boolean | true | United States the principal place of residence for all employees of the Applicant included in the Applicant’s payroll calculation |
sba_application_id | String | null | Application ID provided by etran after Loan is submitted to etran |
ppp_first_draw_sba_loan_number | String | null | PPP First Draw SBA Loan Number |
ppp_first_draw_loan_amount | Number | null | PPP First Draw SBA Loan amount |
sba_number | number | 1234567890 | SBA number assigned by Etran once SBA approves Loan request |
validation_errors | String | {"Reason":"Do Not Pay - Death Sources","StartDate":"01/13/2021","EndDate":null} | Details of validation errors or not approved reason, received from Etran |
second_draw_ppp_loan | Boolean | false | Is this Loan a second draw PPP Loan (true or false) |
applicant_meets_size_standard | Number | 1 | Applicant meets size standard (1=No more than 500, 2=SBA industry size, 3 = SBA alternative size) |
submission_confirmation_id | String | “693c01798166” | Submission confirmation id received in response of loan application submission |
applicant_is_eligible | boolean | true | Lender confirmation that applicant is eligible for PPP Loan |
loan_request_is_necessary | boolean | true | Lender confirmation that Loan request is necessary |
applicant_meets_revenue_test_and_size_standard | boolean | true | Lender confirmation that applicant meets revenue test and size standard |
applicant_no_shuttered_venue_grant | boolean | true | The Applicant has certified to the Lender that (1) it has not been approved for a Shuttered Venue Operator (SVO) grant from SBA as of the date of the loan application, and acknowledged that if the Applicant is approved for an SVO grant |
before SBA issues a loan number for the loan, the Applicant is ineligible for the loan and acceptance of any loan proceeds will be considered an unauthorized use | |||
lender_contracted_third_party | boolean | false | Lender confirmation that Lender contacted third party |
applicant_has_reduction_in_gross_receipts | boolean | false | Applicant had revenue reduction |
applicant_wont_receive_another_second_draw | boolean | false | Applicant won’t receive another second draw loan |
lender_application_number | string | null | Lender application numner |
organization | Number | 7261 | Lender organization id as defined in etran system |
sba_decision_date | String | 2021-01-30 | Date on which SBA makes a decision on Loan request Application |
schedule_c_2483_form | Boolean | false | Depicts whether Borrower is using any of the 2483 Schedule C forms. Allowed only for borrower business types of 1,16,17,26,27 |
schedule_c_tax_year | String | “2019” | Depicts which year (2019 or 2020) Borrower is using, for their Gross Income. Only required if schedule_c_2483_form is true |
schedule_c_gross_income | number | 1000.00 | Depicts Total Amount of Gross Income (from IRS Form 1040, Schedule C, Line 7). Only required if schedule_c_2483_form is true |
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 PPP Loan request is not found |
HTTP Response Code: 429
API Call Rate Limits
To maintain reliability and stability within our environments, PPP 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 Loan request. Client may choose to use this API in case they would like to get the latest details of a particular PPP Loan request.
4. Delete PPP Loan Request
This API is used for deleting/withdrawing the PPP Loan request
Please note:
- Lender may Withdraw PPP Loan Application, if Application has not been approved by SBA. Please note: If application status is failed validation, Lender would have to withdraw application before correcting & resubmitting it. PPP Loan requests can only be deleted/withdrawn if their status is “Pending Validation” or “Failed Validation” or “Under Review” (if etran allows) or Not Approved.When Loan is Under Review and API users try to withdraw application, platform will call etran real time.If Etran allows withdraw, API users will get successful message back else withdraw request will fail with an error message. Also if application is Under review after Lender attestation for Not approved Loans, then Loan cannot be withdrawn. Withdrawing an applications which SBA didn’t approve would give Lenders an opportunity to do correction and resubmit, if applicable
- This is a destructive operation and is only allowed in certain circumstances as highlighted above.
Request type: HTTPS
API Endpoint:
DELETE /api/origination/{slug}/
Request (Sample)
/api/origination/3c00737c-7aa5-4741-93bb-7e4f3e5213de/
Request Parameters
Not Applicable (No request body)
Request Path Parameters
Path Parameter Name | Data Type | Mandatory/Optional | Sample Value | Description |
---|---|---|---|---|
slug | UUID | Mandatory | 3c00737c-7aa5-4741-93bb-7e4f3e5213de | The UUID of the PPP Loan 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, PPP 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 PPP Loan request. For any reason, if client would like to delete PPP request, try to call this API as soon as possible
5. Get ALL NAICS Codes
This API fetches the list of ALL NAICS (North American Industry Classification System) Codes
Request type: HTTPS
API Endpoint:
GET /api/naics/
Request (Sample)
/api/naics/
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": 1057,
"next": "https://forgiveness.sba.gov/api/naics/?page=2",
"previous": null,
"results": [
{
"id": 5,
"code": 722513,
"description": "Limited-Service Restaurants"
}
]
}
Response Parameters
HTTP Response Code: 200
Parameter Name | Data Type | Sample Value | Description |
---|---|---|---|
count | Number | 1 | The total count of the NAICS code |
next | String | https://forgiveness.sba.gov/api/naics/?page=3 | The URI of the next set of list of NAICS codes to be fetched. It will be null for last page |
previous | String | https://forgiveness.sba.gov/api/naics/?page=1 | The URI of the previous set of NAICS codes to be fetched. It will be null for first page |
results | JSON Array |
||
id | Number | 5 | Unique ID within SBA system for NAICS code |
code | Number | 722513 | NAICS code |
description | String | Limited-Service Restaurants | NAICS code description |
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, PPP 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 list of all NAICS codes.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.
6. Get NAICS details using NAICS code or Industry description
This API is used for getting details of specific industry classification using NAICS code or Industry description.
Request type: HTTPS
API Endpoint:
GET /api/naics/?code=NNNNNN
GET /api/naics/?description=XXXXXXX
Request (Sample)
/api/naics/?code=111110
/api/naics/?description=restaurant
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 |
---|---|---|---|---|
code | Number | Optional | 111110 | NAICS code |
description | string | Optional | restaurant | NAICS description |
Request Form Data Parameters
Not Applicable
Response (Sample)
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"id": 5,
"code": 111110,
"description": "Soybean Farming"
}
]
}
Response Parameters
HTTP Response Code: 200
Parameter Name | Data Type | Sample Value | Description |
---|---|---|---|
count | Number | 1 | The total count of the NAICS code. It value be 1 for search by NAICS code |
next | String | null | The URI of the next set of list of NAICS codes to be fetched. It will be null for search by NAICS code or description |
previous | String | null | The URI of the previous set of NAICS codes to be fetched. It will be null for search by NAICS code or description |
id | Number | 5 | Unique ID within SBA system for NAICS code |
code | Number | 722513 | NAICS code |
description | String | Limited-Service Restaurants | NAICS code description |
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 NAICS code is not found |
HTTP Response Code: 429
API Call Rate Limits
To maintain reliability and stability within our environments, PPP 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 Details of a specific NAICS code. Client may choose to use this API in case they would like to get NAICS details for a code.
7. Get ALL Franchise Details
This API fetches the list of ALL Franchises listed in the SBA’s Franchise Directory
Request type: HTTPS
API Endpoint:
GET /api/franchise/
Request (Sample)
/api/franchise/
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": 1057,
"next": "https://forgiveness.sba.gov/api/franchise/?page=3",
"previous": "https://forgiveness.sba.gov/api/franchise/?page=1",
"results": [
{
"id": 4,
"code": "S0011",
"description": "123 FIT"
}
]
}
Response Parameters
HTTP Response Code: 200
Parameter Name | Data Type | Sample Value | Description |
---|---|---|---|
count | Number | 1000 | The total count of the Franchise list |
next | String | null | The URI of the next set of Franchise list to be fetched. It will be null for last page |
previous | String | null | The URI of the previous set of Franchise details to be fetched. It will be null for first page |
results | JSON Array |
||
id | Number | 4 | Unique id of Franchise in SBA system |
code | String | S0011 | Franchise code |
description | String | 123 FIT | Franchise description |
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, PPP 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 list of all Franchises regsitered with SBA. 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
8. Get Franchise Details using Franchise code or name
This API is used for getting details of specific Franchise listed in the SBA’s Franchise Directory
Request type: HTTPS
API Endpoint:
GET /api/franchise/?code=xxxxx
GET /api/franchise/?description=xxxxx
Request (Sample)
/api/franchise/?code=S0011
/api/franchise/?description=subway
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 |
---|---|---|---|---|
code | String | Optional | S0011 | Franchise code |
description | String | Optional | subway | Franchise name |
Request Form Data Parameters
Not Applicable
Response (Sample)
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"id": 1,
"code": "S3493",
"description": "abc"
}
]
}
Response Parameters
HTTP Response Code: 200
Parameter Name | Data Type | Sample Value | Description |
---|---|---|---|
count | Number | 1 | The total count of the Franchise list |
next | String | null | The URI of the next set of Franchise list to be fetched. It will be null for search by id |
previous | String | null | The URI of the previous set of Franchise details to be fetched. It will be null for search by id |
id | Number | 4 | Unique id of Franchise code in SBA system of records |
code | String | S0011 | Franchise code |
description | String | 123 FIIT | Franchise description |
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 franchise is not found |
HTTP Response Code: 429
API Call Rate Limits
To maintain reliability and stability within our environments, PPP 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 Details of a specific Franchise code or name. Client may choose to use this API in case they would like to get the details of a particular Franchise.
9. Get eTran PPP Loan Validation
This API provides fully disbursed PPP Loan info (first draw or second draw) based on SBA number as input. API users may use this end point to validate first draw loan details before submitting second draw loan application.
Request type: HTTPS
API Endpoint:
GET /api/etran_ppp_validation/?sba_number=NNNNNNNNNN
Request (Sample)
/api/etran_ppp_validation/?sba_number=5279100030
Request Parameters
Not Applicable (No request body)
Request Path Parameters
Not Applicable (Mo Request Path Parameters)
Request Query Parameters
sba_number=SBA_Number
Request Form Data Parameters
Not Applicable
Response (Sample)
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"sba_number": 5279100030,
"etran_notional_amount": 900000.0,
"etran_busnm": null,
"address1": "",
"address2": ""
"tin_type": 0
"etran_hold_flag_indicator": true
}
]
}
Response Parameters
HTTP Response Code: 200
Parameter Name | Data Type | Sample Value | Description |
---|---|---|---|
count | Number | 1 | The total count of first draw PPP Loan for SBA number. |
next | String | null | The URI of the next set of list of PPP Loans to be fetched. It will be null |
previous | String | null | The URI of the previous set of PPP Loan to be fetched. It will be null |
results | JSON Array |
||
sba_number | number | 5279100030 | Unique ID within SBA system for loan |
etran_notional_amount | Number | 900000.0 | Loan Amount |
etran_busnm | String | null | eTran Busniness Name |
address1 | String | ”” | Address Line 1 of the Borrower |
address2 | String | ”” | Address Line 2 of the Borrower |
tin_type | Number | 0 | TIN Type of Borrower/Business used during First draw - EIN=0, SSN=1, ITIN=4 |
etran_hold_flag_indicator | boolean | true | Whether first draw loan is on hold by SBA |
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 sba number is not found |
HTTP Response Code: 429
API Call Rate Limits
To maintain reliability and stability within our environments, PPP 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 the ability to validate the First draw PPP Loan before submitting a second draw PPP loan. If the First draw Loan has a hold, Second Draw submissions will be moved automatically to a research status (loan will move from Pending validation to Further Research Required status)
10. Get Validated and Standardized Address
This API is used to validate and get standardized addresses along with Zip+4. API users may use it to ensure addresses are valid before submitting Loan request to SBA and normalize street address formats (Rd, St, Alley etc). We recommend all address be valided before submission. You may still submit an orginiation request if the address fails validation but has been confirm valid by the lender. In these scenarios, the City and Zip will be validated during submission to ETRAN. US territories may also fail validation via this API but can be submitted with valid two letter state and zip code.
Request type: HTTPS
API Endpoint:
GET /api/address_validation?address_1=XXXXX&address_2=yyyyy&city=zzzz&state=sssss&zip_code=NNNNN
Request (Sample)
/api/address_validation?address_1=101 ABC Lane&address_2&city=Newark&state=delaware&zip_code=19701
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 |
---|---|---|---|---|
address_1 | String | Mandatory | 1001 ABC Lane | Address Line 1 |
address_2 | String | Optional | Suite A | Address Line 2 |
city | String | Mandatory | Newark | City |
state | String | Mandatory | Delaware | State |
zip_code | Number | Mandatory | 19701 | Zip code |
Request Form Data Parameters
Not Applicable
Response (Sample)
{
"input_id": null,
"input_index": 0,
"candidate_index": 0,
"addressee": null,
"delivery_line_1": "1001 ABC Ln",
"delivery_line_2": null,
"last_line": "Newark DE 19701-9420",
"delivery_point_barcode": "197019420056",
"components": {
"urbanization": null,
"primary_number": "1305",
"street_name": "Madison",
"street_predirection": null,
"street_postdirection": null,
"street_suffix": "Ln",
"secondary_number": null,
"secondary_designator": null,
"extra_secondary_number": null,
"extra_secondary_designator": null,
"pmb_designator": null,
"pmb_number": null,
"city_name": "Newark",
"default_city_name": "Newark",
"state_abbreviation": "DE",
"zipcode": "19701",
"plus4_code": "9420",
"delivery_point": "05",
"delivery_point_check_digit": "6"
},
"metadata": {
"record_type": "S",
"zip_type": "Standard",
"county_fips": "10003",
"county_name": "New Castle",
"carrier_route": "R013",
"congressional_district": "AL",
"building_default_indicator": null,
"rdi": "Residential",
"elot_sequence": "0115",
"elot_sort": "D",
"latitude": 30.77354,
"longitude": -70.70868,
"precision": "Zip7",
"time_zone": "Eastern",
"utc_offset": -5,
"obeys_dst": true,
"is_ews_match": null
},
"analysis": {
"dpv_match_code": "Y",
"dpv_footnotes": "AABB",
"cmra": "N",
"vacant": "N",
"active": "Y",
"footnotes": "N#",
"lacs_link_code": null,
"lacs_link_indicator": null,
"is_suite_link_match": null
}
}
]
Response Parameters
HTTP Response Code: 200
Parameter Name | Data Type | Sample Value | Description |
---|---|---|---|
input_id | String | null | Any unique identifier that you use to reference the input address; the output will be identical to the input. |
input_index | Number | 0 | The order in which this address was submitted with the others |
candidate_index | Number | 0 | An input address can match multiple valid addresses. This ties the candidates to the input index.(e.g., “1 Rosedale Street Baltimore Maryland” will return multiple candidates.) |
addressee | String | null | The name of the person or company at this address. This value is taken directly from the addressee input field. Very rarely, this field might be filled automatically based on the USPS address record. |
delivery_line_1 | String | 1305 ABC Lane | Contains the first delivery line (usually the street address). This can include any of the following:urbanization (Puerto Rico only), primary number, street predirection, street name, street suffix, street postdirection, secondary designator, secondary number, extra secondary designator, extra secondary number, PMB designator, PMB number |
delivery_line_2 | String | Null | The second delivery line (if needed). It is common for this field to remain empty, but it may contain a private mailbox number. |
last_line | String | Null | City, state, and ZIP Code combined |
delivery_point_barcode | String | Null | 12-digit POSTNET™ barcode; consists of 5-digit ZIP Code, 4-digit add-on code, 2-digit delivery point, and 1-digit check digit. |
components | object | standardized address fields, see sample | |
metadata | object | metadata of address fields, see sample | |
analysis | object | analysis of address fields, see sample. |
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 address is not found |
HTTP Response Code: 429
API Call Rate Limits
To maintain reliability and stability within our environments, PPP 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 is used to validate and get standerdized address along with Zip+4. API users may use it to ensure address is valid before submitting Loan request to SBA. Please note - This API is optional and is not expected to replace your existing address validation & standardization routines. Please donot use this API for type ahead functionaility within your application.
11. Get EIDL Loan Validation
This API validates EIDL Loan number.
Request type: HTTPS
API Endpoint:
GET /api/etran_eidl_loan_validation?eidl_loan_number=NNNNNNNNNN
Request (Sample)
/api/etran_eidl_loan_validation?eidl_loan_number=4321110000
Request Parameters
Not Applicable (No request body)
Request Path Parameters
Not Applicable (No Request Path Parameters)
Request Query Parameters
Query Parameter Name | Data Type | Mandatory/Optional | Sample Value | Description |
---|---|---|---|---|
eidl_loan_number | number | Mandatory | 4321110000 | EIDL Loan number |
Request Form Data Parameters
Not Applicable
Response (Sample)
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"eidl_loan_number": "4321110000",
"amount": 2000.0,
}
]
}
Response Parameters
HTTP Response Code: 200
Parameter Name | Data Type | Sample Value | Description |
---|---|---|---|
count | Number | 1 | The total count of EIDL Loan number. It will always be 1 |
next | String | null | The URI of the next set of list of EIDL Loans to be fetched. It will be null |
previous | String | null | The URI of the previous set of EIDL loans to be fetched. It will be null |
results | JSON Array |
||
eidl_loan_number | String | “4321110000” | Unique ID within SBA system for loan |
etran_notional_amount | Number | 900000.0 | EIDL Loan Amount |
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 EIDL Loan number is not found |
HTTP Response Code: 429
API Call Rate Limits
To maintain reliability and stability within our environments, PPP 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 the ability to validate the EIDL Loan. Applicable for first draw loans only.