---
title: "Create SMB Loan"
method: POST
path: "/1.0/createSMBLoan"
tags: ["Loan"]
---

# Create SMB Loan

`POST /1.0/createSMBLoan`

## Request

- Base URL: `lending-{corename}.{env}.gpsrv.com/lending/` (relative, and the document’s source URL is not known)
- URL: `lending-{corename}.{env}.gpsrv.com/lending/1.0/createSMBLoan`
- Auth: none declared

Use the Create SMB Loan endpoint to create a small and midsize business (SMB) installment loan for a customer. Loan subproducts are configured for your installment loans product and are assigned a subproduct ID. Ensure you have the required <a href="doc:setup-for-installment-loans#manage-customer-records" target="_blank">customer data</a> to create a loan. 

For optional parameters, do not pass an empty string or null value.

## Request body `application/x-www-form-urlencoded`

- object
  - `apiLogin` string, required: Provider's web service username, as provided by Galileo for the requesting IP address. Pattern: Max 50 characters Example: `"AbC123-9999"`
  - `apiTransKey` string, required: Web service password, as provided by Galileo for the requesting IP address. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`
  - `providerId` integer, required: Galileo-issued unique provider identifier. Pattern: Max 10 digits Example: `9999`
  - `transactionId` string, required: A provider-generated ID that is unique to each API call. A UUID is preferred. Do not reuse this identifier for multiple API calls. Pattern: Max 60 characters Example: `"984513-395483653-4483483478"`
  - `providerTransactionId` string: An optional provider-generated ID for the API request. Pattern: Max 60 characters Example: `"47823438032233777"`
  - `providerTimestamp` string: An optional provider-generated timestamp for the API request. Pattern: Max 60 characters Example: `"2017-05-01 13:01:01"`
  - `customerPmtRefNo` string, required: PRN for the customer’s primary account. Galileo uses the PRN to retrieve customer information, like business name, date of birth, SSN, address, etc. When the loan is created, the `loan_id` will be associated with this PRN. Pattern: PRN Example: `"074103447228"`.
  - `subProductId` string, required: Identifier for the loan subproduct. Pattern: Max 15 characters. Example: `"442824720"`.
  - `simulationId` string: Unique identifier associated with each loan simulation returned by the Simulate Loan endpoint. Required when creating a loan from a simulation. Do not pass the following fields when the simulationId is provided: `totalLoanAmount`, `loanTerm`, and `capitalTerm`. Pattern: Max 9 characters. Example: `"450825953"`.
  - `taxIdType` 'EIN' | 'ITIN' | 'SSN', required: Identifies whether the tax ID is Employer Identification Number (EIN), Social Security Number (SSN), or an Individual Taxpayer Identification Number (ITIN). Pattern: EIN, SSN, ITIN. Example: `"EIN"`.
  - `taxId` string, required: Loan applicant’s 9 digit taxpayer identification number. Pattern: Exactly 9 digits, no hyphens or other characters. Example: `"222554444"`.
  - `ownerId` string, required: Indicates the ownership of the loan assets. Pattern: Max 30 characters. Example: `"845dk-39fdk3fj3-4483483478"`.
  - `phone` string: Loan applicant’s phone number. Pattern: Exactly 10 digits, no hyphens or other characters. Example: `"1115553333"`.
  - `email` string: Loan applicant’s email address. Pattern: Email address, 3–63 characters. Example: `"user@fakedomain.com"`.
  - `address1` string, required: Loan applicant’s first address line. Cannot be a P.O. box. [Validation rules for address1](ref:api-reference-address1-validation). Pattern: 4–40 alphanumeric characters. Example: `"33 Maple Street"`.
  - `address2` string: Loan applicant’s second address line. Pattern: Max 30 characters. Example: `"#4B"`.
  - `city` string, required: Loan applicant’s city. Pattern: Max 30 characters: letters, spaces, hyphen and period. Example: `"Salt Lake City"`.
  - `state` string, required: Loan applicant’s state or province. Pattern: 2-character state or province abbreviation. Example: `"UT"`.
  - `postalCode` string, required: Loan applicant’s postal code (ZIP code). Pattern: Min 5 characters and max 10 characters (12345, 12345-1234, or K1A-1A1). Example: `"84121"`.
  - `countryCode` '840', required: Loan applicant’s country. Three-digit UN M49 country code. Currently the only allowed value is 840 for the USA. Pattern: 3-digit country code.
  - `applicationNumber` string: Unique identifier that you generate for the loan application. This identifier is associated with loan simulations. You can give this identifier to customers for customer service purposes.
  - `totalLoanAmount` number: Total amount for the loan. Pattern: Decimal number (14,2). Example: `"700.00"`.
  - `loanTerm` integer, required: Number of installments to pay off the loan. Pattern: Min 1 characters and max 9 characters. Example: 4.
  - `capitalTerm` integer, required: Length of time between payments, in units specified by the subproduct. For example, if you specify “2” and the loan subproduct is set to weeks then installments will be due every two weeks. Pattern: Max 9 digits. Example: `2`.
  - `loanStartDate` string, date: Start date for the loan. This may be different from `loan_creation_date`.

## Response `200`

Success

- object
  - `status_code` integer, nullable, required: The response status code. May return a string for some statuses.
  - `status` string, nullable, required: The condition of a process or response
  - `processing_time` number, float, nullable, required: The time elapsed in processing the transaction
  - `echo` object, nullable, required: A structure that contains transaction ID information
    - `transaction_id` string, nullable, required: An ID that represents an API transaction
    - `provider_timestamp` string, date-time, nullable, required: Store a related timestamp for reporting and troubleshooting purposes
    - `provider_transaction_id` string, nullable, required: Secondary transaction identifier (generated by a provider)
  - `system_timestamp` string, date-time, nullable, required: A system generated timestamp
  - `rtoken` string, nullable, required: A Galileo-generated ID used for tracking
  - `errors` string[]: A list of errors generated while the request was processed
  - `response_data` object, nullable, required: A structure for the response data. It can be empty but usually will contain information.
    - `loan_id` string, required: Unique identifier for the loan. Pattern: Max 30 characters Example: `"450825953"`.
    - `loan_apr` number, required: Annual percentage rate for interest charged on the loan. Calculated from the interest defined by the subproduct, the length of the loan, the origination fee (if applicable) and other fees (if applicable).
    - `loan_creation_date` string, date, required: Date that the loan was created. This may be different from `loan_start_date`.
    - `rate_type` 'fixed' | 'variable', required: Indicates whether the interest type is `FIXED` or `VARIABLE.
    - `origination_fee` number, required: Fee charged at loan creation. Returns 0 if there is no origination fee.
    - `late_fee` number, required: Late fee for the loan
    - `initial_projected_maturity_date` string, date, required: Projected date when the loan will be paid off. This date is calculated only when a loan is simulated or created and cannot be sent again.
    - `application_number` string, required: Unique identifier that you generate for the loan application. This identifier is associated with loan simulations. You can give this identifier to customers for customer service purposes.
    - `itemization_of_amount_financed` object
      - `loan_amount` number, required: Total loan amount borrowed by the customer. This is the sum of the `disbursed_amount`, `origination_fee`, and any other fees associated with the loan.
      - `disbursed_amount` number, required: Total loan amount disbursed to the customer
      - `projected_interest_amount` number, required: The total interest amount the borrower will be paying
      - `projected_fees_amount` number, required: Total fees that the customer is projected to pay over the course of the loan
    - `amortization_schedules` object[], required
      - `amort_installment_number` integer, required: The number of the installment
      - `amort_payment_due_date` string, date, required: Date that the payment for this installment is due
      - `amort_payment_amount` number, required: Total amount owed for this installment, including the principal amount,interest and fees
      - `amort_payment_principal` number, required: Amount owed on the principal loan for this installment
      - `amort_payment_fees` number, required: Fee amount that will be paid in each installment
      - `amort_payment_interest` number, required: Amount owed on the loan interest for this installment
      - `amort_payment_balance` number, required: Remaining balance after this installment is paid
    - `count_of_installments` integer, required: Number of installment scheduled
    - `installment_amount` number, required: Payment due at each installment. This is the same amount as `amort_payment_amount`.
    - `loan_start_date` string, date, required: Start date for the loan. This may be different from `loan_creation_date`.
    - `first_installment_due_date` string, date, required: Date the first installment is due

---

[API](https://skmtc.dev/galileo-ft/apis/loan-api.md) - [All operations](https://skmtc.dev/galileo-ft/apis/loan-api/llms.txt) - [OpenAPI document](https://skmtc.dev/galileo-ft/apis/loan-api/revisions/64783a0f7d15?raw)
