AutoFi Loan Applications API

This section provides the methods available to submit and retrieve loan applications for your organization.

Operations 3

POST /v1/loan-application Create a new loan application
GET /v1/loan-application/{loanApplicationId} Loan application details
GET /v1/loan-application/{loanApplicationId}/externalResources External resources (experimental)

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/autofi-loan-applications-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

autofi-loan-applications-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: AutoFi Loan Applications API
  description: "\n# Introduction\n Welcome to the AutoFi REST API. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.\n\n# HTTP Requests\n### Environments\nEnvironment | URL\n----------------|-------------\nTest Sandbox | https://api-uat.autofi.com\nProduction | https://api.autofi.com\n\n### Request Headers\n\nThe `Content-Type` header for `POST` and `PUT` requests should be set to `application/json` unless otherwise noted.\n\nHeader | Value\n----------------|-------------\nContent-Type | application/json\n\n### Response Headers\nHeader | Value\n----------------|-------------\nX-RateLimit-Limit | Request quota\nX-RateLimit-Reset | UNIX timestamp the request quota will be reset after exceeding it\nX-RateLimit-Remaining | Remaining requests in quota\nRetry-After | Time in seconds to retry after\nX-Response-Time | The time in milliseconds it took to respond to the request\n\n# HTTP Responses\nAutoFi uses standard HTTP response codes to indicate the success or failure of an API request. \n\n## Successful requests\nHTTP requests that are successfully processed returns `2xx` status codes.\n\n| Status code | Description |\n| -- | -- |\n| **200 OK** | The request was successfully processed and requested content is returned in the response body. |\n| **201 Created** | The request was successfully processed and a new resource was created. |\n| **204 No Content** | The request was successfully processed and the response body has no content. |\n\n## Failed Requests\nHTTP requests that are not successfully processed, due to a client or server error, returns `4xx` or `5xx` status codes respectively.\n\n### HTTP 4XX status codes\n| Status code | Description \n| -- | -- |\n| **400 Bad Request** | The request cannot be processed. Typically due to a malformed payload.\n| **401 Unauthorized** | The request has invalid credentials (token).\n| **403 Forbidden** | The request has insufficient privileges.\n| **404 Not Found** | The requested resource could not be found.\n| **405 Method Not Allowed** | The API does not allow this method.\n| **415 Unsupported Media Type** | The payload format is not supported. [AutoFi request headers](#request-headers).\n| **429 Too Many Requests** | There were too many request in a given amount of time.\n\n### Error response definition\nMost types of errors have the following structure:\n| field | Description \n| --- | --- \n| code | reference to the status code of the response\n| message | defines the error type \n| errors | contains an array of objects with the description for an error or multiple errors generated.\n\n### Error Types\n\n`4xx` Errors can be thrown for different reasons. The following section describes common shapes for the error objects returned.\n\n#### Validation Errors\nValidation errors return a `400` status code indicating a `Bad Request`.\n\n| Parameter type | Description \n| --- | --- \n| string | `dob`, `email`, `phone`, etc., have formats and possibly character restrictions which must be observed. e.g. `phone` must be a 10 character long string that contains only numbers.\n| number | `apr`, `downPayment`, `term`, etc., have range requirements which must be observed. e.g. `apr` must be a number between [0...1]. \n| integer | `timeInMonths`, `monthlyPayment`, `year`, etc., have range requirements which must be observed.  \n\n\n> #### Example Response `400 Bad Request`\n>  ```json\n> {\n>   \"code\": 400,\n>   \"message\": \"Validation Error\",\n>   \"errors\": [\n>       {\n>         \"description\": \"Required field \\\"applicant\\\" was not provided.\"\n>       },\n>       {\n>         \"description\": \"Field \\\"cosigner.email\\\" is invalid: io.\"\n>       }\n>   ]\n> }\n>  ```\n\n\n#### Authorization Errors\nAuthorization errors return a `401` status code indicating a `Unauthorized`.\nMost endpoints will return some of the following errors in case of an invalid\n(malformed or expired) or absent authorization token, indicating that a new \ntoken must be requested.\n\n> #### Example Response `401 `\n>  ```json\n> {\n>     \"error\": \"UnauthorizedError: invalid token\"\n> }\n>  ```\n>  ```json\n> {\n>     \"error\": \"UnauthorizedError: No authorization token was found\"\n> }\n>  ```\n>  ```json\n> {\n>     \"error\": \"UnauthorizedError: Format is Authorization: Bearer [token]\"\n> }\n>  ```\n>  ```json\n> {\n>     \"error\": \"UnauthorizedError: jwt malformed\"\n> }\n>  ```\n\n#### Not Found Errors\nNot Found errors return a `404` status code indicating a `Not Found`.\n\n> #### Example Response `404 Not found`\n>  ```json\n> {\n>     \"error\": \"Error: Not Found\"\n> }\n>  ```\n\n#### Rate Limiting\nIf the server is receiving an excessive amount of requests from a \nparticular user, it may return errors with a `429` status code \nindicating `Too many requests`.\n\n> #### Example Response `429 Too many requests`\n>  ```json\n> {\n>   \"code\": 429,\n>   \"message\": \"Account limit exceeded.\",\n> }\n>  ```\n\n\n### HTTP 5XX status codes\n| Http Status | Description |\n| -- | -- |\n| **500 Internal Server Error** | An unexpected error occurred, preventing successfully processing the request. |\n| **503 Service Unavailable** | An AutoFi service is unavailable, preventing successfully processing the request. |   \n\n> See the [Hypertext Transfer Protocol (HTTP)](https://datatracker.ietf.org/doc/html/rfc7231) or the [MDN docs](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status) for more details.\n\n### Error Type\n\n#### 503 Service Unavailable\nService unavailable error is returned when our servers is not available to process and return a response.\n\n> #### Example Response `503 service unavailable`\n>  ```json\n> {\n>   \"code\": 503,\n>   \"message\": \"Service Unavailable\",\n>   \"errors\": [\n>       {\n>         \"description\": \"Service Unavailable\"\n>       },\n>   ]\n> }\n>  ```\n"
  version: 1.0.0
  x-logo:
    url: https://app.autofi.com/images/email-autofi-logo.png
    backgroundColor: '#FFFFFF'
    altText: AutoFi
    href: /
servers:
- url: https://api.autofi.com
  description: Production server
- url: https://api-uat.autofi.com
  description: Sandbox server
security:
- bearerAuth: []
tags:
- name: Loan Applications
  description: This section provides the methods available to submit and retrieve loan applications for your organization.
paths:
  /v1/loan-application:
    post:
      security:
      - bearerAuth:
        - create:loanapplications
      summary: 'Create a new loan application

        '
      description: 'You can provide a callback URL through the `callbackURL` property. See the callbacks section below for more information.

        '
      tags:
      - Loan Applications
      callbacks:
        createLoanAppCallback:
          '{$request.body#/callbackUrl}':
            post:
              summary: Loan Application callback
              description: "AutoFi REST APIs use callbacks for event notifications, such as lender decisions when applying for credit. \nCallbacks are outbound API calls that notify you when an event has occurred.  Note: Callbacks do not \nhave a re-try function.\n\n### How to use\n\nOn the AutoFi Create Loan Application you can provide the `callbackUrl` property with a URL value.  AutoFi will send \nevent notifications to that URL.\n\n### Messages\n\nA JSON notification will be triggered when a new event takes place. For example, an event will trigger a notification\nwhen a loan application has been approved or declined by a lender. The callback response body contains the same \ninformation as returned by the [GET Loan Application](#tag/Loan-Applications/paths/~1v1~1loan-application~1{loanApplicationId}/get) \nendpoint.\n\n### Event triggers\n\nEnum: `\"ACCEPTED\"` `\"APPROVED\"` `\"BEGAN_APPLICATION\"` `\"DECLINED\"`  `\"ERROR\"` `\"FI_COMPLETED\"` `\"PENDING\"` `\"SUBMITTED\"`\n"
              responses:
                '200':
                  description: Callback response body
                  content:
                    application/json:
                      schema:
                        allOf:
                        - $ref: '#/components/schemas/LoanApplicationData'
                        properties:
                          timestamp:
                            type: string
                            format: date-time
                            example: '2022-03-09T16:26:18.284Z'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - applicant
              - callbackUrl
              - dealer
              - offerPreferences
              - vehicle
              properties:
                applicant:
                  allOf:
                  - $ref: '#/components/schemas/DecisioningApplicantInput'
                  properties:
                    email:
                      $ref: '#/components/schemas/EmailInput'
                callbackUrl:
                  type: string
                  example: https://my-domain.com/customers/1/updateCreditApp
                  format: uri
                  minLength: 1
                  description: A valid URL to receive responses when there is a change in state.
                cosigner:
                  allOf:
                  - $ref: '#/components/schemas/DecisioningCoApplicantInput'
                  properties:
                    email:
                      $ref: '#/components/schemas/EmailInput'
                dealer:
                  allOf:
                  - $ref: '#/components/schemas/LoanApplicationDealerInput'
                  properties:
                    code:
                      description: Identification assigned to dealer by AutoFi.
                      type: string
                      pattern: ^[A-Z0-9]{4}$
                      minLength: 4
                      maxLength: 4
                      example: 76KR
                fees:
                  $ref: '#/components/schemas/FinanceFees'
                offerPreferences:
                  allOf:
                  - $ref: '#/components/schemas/DecisioningOfferPreferences'
                  properties:
                    apr:
                      type: number
                      format: float
                      description: Annual percentage rate in decimals e.g. if the apr is 2% this should be 0.02
                    isSubvented:
                      type: boolean
                      description: Indicates that the rate in this offer contains a subvented or special rate. This influences rules relating to markup and rebate compatibility. This only affects the offer if there is an `apr` specified.
                    downPayment:
                      default: 0
                products:
                  type: array
                  items:
                    allOf:
                    - $ref: '#/components/schemas/ProductInput'
                    properties:
                      referenceId:
                        $ref: '#/components/schemas/referenceId'
                rebates:
                  type: array
                  items:
                    $ref: '#/components/schemas/RebateInput'
                referenceId:
                  $ref: '#/components/schemas/schemas-referenceId'
                simulate:
                  $ref: '#/components/schemas/SimulateInput'
                tax:
                  $ref: '#/components/schemas/schemas-tax'
                taxRate:
                  type: number
                  example: 0.07
                  format: float
                  description: Required if `requestedOfferType` is `LEASE`. Must not be greater than 1. Used to calculate a number of tax values related to a lease.
                  exclusiveMinimum: 0
                  exclusiveMaximum: 1
                tradeIn:
                  allOf:
                  - $ref: '#/components/schemas/LoanApplicationTradeInInput'
                  properties:
                    payoff:
                      type: number
                      format: float
                      minimum: 0
                      maximum: 999999
                      example: 3500.75
                      description: The payoff amount the customer needs to pay to satisfy the terms of their vehicle loan.
                vehicle:
                  allOf:
                  - $ref: '#/components/schemas/DecisioningVehicleInput'
                  properties:
                    bookoutValue:
                      type: number
                      format: float
                      example: 39895.27
                      description: Bookout value to override bookout calculation if `age` is `USED` or `CPO`.
                    modelCode:
                      description: The code for the model provided by the manufacturer. This field is optional but strongly recommended for new vehicles and lease applications since it greatly improves deal accuracy, e.g. determining the correct rebates.
                      type: string
                      example: P8T
                    trim:
                      description: Vehicle trim. This field is optional but strongly recommended for lease applications since it greatly improves deal accuracy, e.g. determining the correct rebates.
                      type: string
                      example: GT
      responses:
        '200':
          description: Loan Application data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LoanApplicationResponse'
        '400':
          $ref: '#/components/responses/CreateLoanApplication'
  /v1/loan-application/{loanApplicationId}:
    get:
      security:
      - bearerAuth:
        - read:loanapplications
      summary: Loan application details
      tags:
      - Loan Applications
      parameters:
      - $ref: '#/components/parameters/LoanApplicationIdParam'
      responses:
        '200':
          description: Loan Application data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LoanApplicationData'
  /v1/loan-application/{loanApplicationId}/externalResources:
    get:
      security:
      - bearerAuth:
        - read:loanapplications
      summary: External resources (experimental)
      description: 'Collection of resources in external systems that are associated with the loan application. External resources are updated with information about the deal during the loan application process. After the external system has been updated, external resources are available in the response, grouped by the external system type and then by the provider of each system. Currently Dealer Management Systems (DMS) are the only available external system type and the only provider is for the CDK DMS. <strong>This endpoint is still `experimental` and can change in the future.</strong>

        '
      tags:
      - Loan Applications
      parameters:
      - $ref: '#/components/parameters/LoanApplicationIdParam'
      responses:
        '200':
          $ref: '#/components/responses/ExternalResourcesResponse'
components:
  schemas:
    Relationship:
      example: SPOUSE
      description: The cosigner's relationship with the primary applicant. Use `PARENT` when the cosigner is the applicant's parent. Use `RESIDESWITH` when there is no familial relationship but the applicant and cosigner live together.
      type: string
      enum:
      - RESIDESWITH
      - PARENT
      - OTHER
      - SPOUSE
    ApplicantFullNameInput:
      allOf:
      - $ref: '#/components/schemas/ApplicantBaseNameInput'
      title: Name
      properties:
        middle:
          description: Middle name
          example: Alejandra
          type: string
        suffix:
          description: Suffix indicating generational title
          example: JR
          type: string
          enum:
          - JR
          - SR
          - I
          - II
          - III
          - IV
          - V
    TaxItemLease:
      type: object
      description: Lease Tax Item.
      properties:
        amount:
          description: Tax item amount.
          type: number
          format: float
        description:
          description: Tax item description.
          type: string
        descriptionI18n:
          description: Tax item description for locale.
          type: string
    Decision:
      type: object
      properties:
        comments:
          description: List of raw lender comments returned via the middleman.
          type: object
          properties:
            raw:
              type: array
              items:
                type: string
                example: APPROVED WITH COSIGNER
        consumerState:
          type: string
          description: Consumer decision's state.
          enum:
          - APPROVED
          - DECLINED
          - PENDING
          default: PENDING
        error:
          type:
          - object
          - 'null'
          description: Avaliable when the status of the decision is `ERROR`
          properties:
            message:
              type: string
              description: Message of the error that occurred when getting the decision.
              example: Unable to locate bookout data.
        isAccepted:
          type:
          - boolean
          - 'null'
          description: This flag is `true` when the decision has been accepted by the customer.
        lenderReferenceId:
          type:
          - string
          - 'null'
          description: Lender application id.
        middleman:
          type:
          - string
          - 'null'
          description: Middleman name.
          enum:
          - dealertrack
          - dealertrackFs
          - routeOne
        middlemanReferenceID:
          type:
          - string
          - 'null'
          description: Middleman application id.
        name:
          type:
          - string
          - 'null'
          description: Lender name.
        pricing:
          type:
          - object
          - 'null'
          properties:
            amountFinanced:
              type:
              - number
              - 'null'
              format: float
            apr:
              type:
              - number
              - 'null'
              format: float
              description: Loan's annual percentage rate.
            buyRate:
              type:
              - number
              - 'null'
              format: float
            dealerDiscountFee:
              type:
              - number
              - 'null'
              format: float
              description: Fee charged by the lender to the dealer for underwriting certain loan applications.
            downPayment:
              type:
              - number
              - 'null'
              format: float
            monthlyPayment:
              type:
              - number
              - 'null'
              format: float
            termMonths:
              type:
              - integer
              - 'null'
        state:
          type:
          - string
          - 'null'
          description: Decision's state
          enum:
          - APPROVED
          - CONDITIONAL
          - COUNTER_OFFER
          - DECLINED
          - ERROR
          - LENDER_CONSTRAINT
          - PENDING
        stipulations:
          type:
          - object
          - 'null'
          description: List of lender stipulations.
          properties:
            raw:
              type: array
              description: Raw stipulations as are sent by lenders.
              items:
                type: string
                example: DOB MISMATCH ON BUREAU. PROOF OF DOB REQUIRED; DL OR OTHER GOVERNMENT ISSUED ID WITH PHOTO AND DOBS
            normalized:
              type: array
              description: Normalized from `raw` stipulations into a user friendly format. The number of `normalized` stipulations may not match the number of `raw` ones.
              items:
                type: string
                example: Applicant will need to show a valid government issued photo ID card for date of birth verification
    FinanceFees:
      type: array
      items:
        allOf:
        - $ref: '#/components/schemas/FeeInput'
        properties:
          code:
            $ref: '#/components/schemas/schemas-FeeCodeInput'
          isTaxable:
            description: 'Default: `false` <br> Applies only when requested offerType is `FINANCE`.'
            deprecated: true
      example:
        amount: 249.99
        code: SHIPPING_FEE
        name: Shipping fee
    TaxName:
      type: string
      description: "The name of the tax.  \n**Note**: if \"Total Taxes\" value is received, it is the total tax amount for the vehicle. Does not include product taxes.\n"
    InputVehicleAge:
      description: Vehicle age.
      type: string
      enum:
      - NEW
      - CPO
      - USED
    TaxableAmount:
      type: number
      example: 34317.99
      format: float
      minimum: 0
      description: '<p style="display: flex; flex-direction: column"><img src="http://badges.github.io/stability-badges/dist/experimental.svg" alt="Experimental" style="width: 100%; max-width: 150px" /> Taxable amount.</p>'
    EmploymentStatus:
      type: string
      enum:
      - CONTRACT
      - EMPLOYED
      - FULL_TIME
      - MILITARY
      - NA
      - OTHER
      - PART_TIME
      - RETIRED
      - SELF_EMPLOYED
      - SEASONAL
      - STUDENT
      - TEMPORARY
      - UNEMPLOYED
    BaseSelectedProduct:
      type: object
      description: Fields in common for FINANCE, CASH and LEASE.
      properties:
        mileage:
          type:
          - integer
          - 'null'
          example: 1
          minimum: 0
          description: The mileage selected by the customer for a specific product (e.g. VSC).
        name:
          type:
          - string
          - 'null'
          description: Name of the F&I product selected.
        price:
          $ref: '#/components/schemas/price'
        referenceId:
          $ref: '#/components/schemas/referenceId'
        tax:
          $ref: '#/components/schemas/tax'
        taxableAmount:
          $ref: '#/components/schemas/TaxableAmount'
        taxLineItems:
          $ref: '#/components/schemas/TaxLineItems'
        termMonths:
          type:
          - integer
          - 'null'
          example: 1
          minimum: 0
          description: The term selected by the customer for a specific product (e.g. Tire and Wheel).
        total:
          type:
          - number
          - 'null'
          example: 1
          format: float
          minimum: 0
          description: The total price of the product including the finance charge.
      example:
        mileage: 50000
        name: Extended Warranty
        price: 700
        referenceId: 23b605f6-2a9e-11ec-8d3d-0242ac130003
        tax: 60.01
        taxableAmount: 700
        taxLineItems:
        - jurisdiction:
            name: COLORADO
            type: STATE
            imposition: General Sales and Use Tax
          tax:
            rate: 0.086
            amount: 60.1
        termMonths: 60
        total: 760.01
    ApplicantAddressInput:
      type: object
      required:
      - city
      - residenceTimeInMonths
      - residenceType
      - state
      - street
      - zip
      properties:
        street:
          type: string
          minLength: 1
          example: 1234 Main St
          description: Applicant street line.
        street2:
          type: string
          example: Apt B
          description: Applicant street line 2.
        city:
          type: string
          minLength: 1
          example: Madison
          description: Applicant city of residence.
        state:
          type: string
          minLength: 1
          example: WI
          description: Two character code for state (US).
        zip:
          type: string
          minLength: 1
          example: '53714'
          description: Zip code.
        residenceType:
          allOf:
          - $ref: '#/components/schemas/AddressResidenceType'
        residenceMonthlyPayment:
          type: integer
          example: 1500
          minimum: 0
          description: The monthly mortgage or rent payment. Required when `residenceType` is `BUYING` or `RENT` and must be a positive integer. For all other `residenceType` values, this field should be omitted.
        residenceTimeInMonths:
          type: integer
          example: 16
          minimum: 0
          description: "The number of months living at this address. If less than 24 please include `previousAddress`. \n\n__Note:__ An input of 0 will be rounded up to 1 month.\n"
    LeaseTaxes:
      type: array
      title: Lease
      items:
        properties:
          amount:
            $ref: '#/components/schemas/FeeAmount'
          name:
            $ref: '#/components/schemas/FeeName'
          taxPlacement:
            $ref: '#/components/schemas/TaxPlacement'
    DecisioningApplicantInput:
      type: object
      properties:
        name:
          allOf:
          - $ref: '#/components/schemas/ApplicantFullNameInput'
        address:
          allOf:
          - $ref: '#/components/schemas/ApplicantAddressInput'
          - description: Applicant residence information.
        previousAddress:
          allOf:
          - $ref: '#/components/schemas/ApplicantAddressInput'
          - description: 'Applicant previous residence information. Recommended when the applicant has lived at the current

              address for less than 2 years.

              '
          - example:
              street: 8754 Pine St
              street2: ''
              city: Detroit
              state: MI
              zip: '48204'
              residenceType: RELATIVES
              residenceTimeInMonths: 12
              residenceMonthlyPayment: 0
        phone:
          allOf:
          - $ref: '#/components/schemas/PhoneInput'
        email:
          allOf:
          - $ref: '#/components/schemas/EmailInput'
        ssn:
          type: string
          example: '666554444'
          maxLength: 9
          minLength: 9
          pattern: ^\d{9}$
          description: 'Social Security Number / ITIN in US. Note: The application is only submitted to lenders that support ITIN.

            '
        maritalStatus:
          allOf:
          - $ref: '#/components/schemas/MaritalStatus'
        educationLevel:
          allOf:
          - $ref: '#/components/schemas/EducationLevel'
        employment:
          allOf:
          - $ref: '#/components/schemas/ApplicantEmploymentInput'
        previousEmployment:
          allOf:
          - $ref: '#/components/schemas/ApplicantEmploymentInput'
          properties:
            timeInMonths:
              description: Number of months working for this employer.
        dob:
          type: string
          format: date
          pattern: ^([12]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01]))$
          example: '1990-01-30'
          description: Date of Birth `YYYY-MM-DD`. Must be older than 18 and younger than 120.
        incomeReported:
          type: number
          format: float
          deprecated: true
          description: Total gross monthly income from employment and other sources. _Deprecated - Use `employmentIncome` and `otherIncome` fields instead._
        employmentIncome:
          type: number
          format: float
          example: 10000
          description: Gross monthly income from employment. _Required if `employmentStatus` is "EMPLOYED", "SELF_EMPLOYED" or "MILITARY"._
        otherIncome:
          type: array
          description: Monthly income from sources other than employment.
          items:
            allOf:
            - $ref: '#/components/schemas/OtherIncomeItemInput'
        creditScore:
          type: number
          example: 710
          format: int64
          maximum: 999
          minimum: 300
          deprecated: true
          description: 'Credit score. When provided must be a number between 300 and 999 or `null` to indicate that no credit score

            is available.


            This field has been **deprecated** and will be removed in a future version. Please update your queries accordingly.

            '
      required:
      - name
      - address
      - phone
      - email
      - ssn
      - employment
      - dob
    AddressResidenceType:
      type: string
      description: "The type of residence at this address.\n\nBoth `BUYING` and `RENT` indicate the applicant has a monthly mortgage or rent payment. When either of these two\n`residenceType` values are provided, the `residenceMonthlyPayment` field is required and must be a positive integer.\n\nFor all other `residenceType` values, if the `residenceMonthlyPayment` field is provided, it is ignored and\n**NOT** submitted to lenders. All other `address` fields are the same regardless of `residenceType`.\n\n`BUYING`: The applicant has monthly mortgage payments.\n\n`MOBILE`: The applicant does not have a monthly payment.\n    \n`OTHER`: The applicant does not have a monthly payment.\n\n`OWN`: The applicant does not have a monthly payment because they own their home outright.\n\n`RELATIVES`: The applicant does not have a monthly payment.\n\n`RENT`: The applicant has monthly rent payments."
      example: RENT
      enum:
      - BUYING
      - MOBILE
      - OTHER
      - OWN
      - RELATIVES
      - RENT
    IsSubvented:
      type: boolean
      description: Indicates that the rate in this offer contains a subvented or special rate. This influences rules relating to markup and rebate compatibility.
    FinanceTaxes:
      type: array
      title: Finance
      items:
        properties:
          amount:
            $ref: '#/components/schemas/TaxAmount'
          name:
            $ref: '#/components/schemas/TaxName'
          taxableAmount:
            $ref: '#/components/schemas/TaxableAmount'
          taxLineItems:
            $ref: '#/components/schemas/TaxLineItems'
    LoanApplicationDealerInput:
      type: object
      properties:
        code:
          type: string
          description: Identification assigned to dealer by AutoFi. Created via the `POST /dealer` endpoint (if submitting applications for multiple dealers) or will be provided by AutoFi.
        middleman:
          allOf:
          - $ref: '#/components/schemas/DecisionMiddlemen'
          description: Portal used to submit the credit applications to the lenders.
        middlemanId:
          type: string
          description: The dealer id used in the middleman portal on whose behalf the application will be submitted to the lender.
        state:
          type: string
          description: The dealer's state which the book values for collateral valuation are based on.
      required:
      - code
    TaxAmount:
      type: number
      example: 995.22
      format: float
      minimum: 0
      description: "Total amount for this tax.  \n**Note**: For product specific taxes see `selectedProducts.tax`.  \nFor Total taxes see `pricingStack.totalTaxes`.\n"
    LoanApplicationResponse:
      type: object
      properties:
        agentUrl:
          type:
          - string
          - 'null'
          example: https://example.com
          format: uri
          minLength: 1
          description: 'URL to the agent experience. This URL is not intended for the customer, but for the customer service agent. Please contact your AutoFi rep for configuration and further details of this field.  Note: This field is only active when a referenceId is associated with the loan application. See <a href=''#tag/Loan-Applications''>Create Loan Application</a>.'
        customerProfile:
          type: string
          example: https://example.com
          format: uri
          minLength: 1
          description: URL to the customer's profile in AutoFi Dealer Portal. Used by sales or customer support team.
        loanApplicationExpires:
          type: string
          format: date-time
          description: The date `url` is good until.
        loanApplicationId:
          type: string
          description: The unique identifier for the loan application created by the request.
        referenceId:
          type:
          - string
          - 'null'
          description: Partner's unique identifier for each credit application. Same `referenceId` as was provid

# --- truncated at 32 KB (89 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/autofi/refs/heads/main/openapi/autofi-loan-applications-api-openapi.yml