LendKey onboarding API

The onboarding API from LendKey — 1 operation(s) for onboarding.

Operations 1

POST /v1/onboarding/onboard Submits an application LendKey for boarding.

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/lendkey-onboarding-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

lendkey-onboarding-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Integration Onboarding API
  description: This API collection represents the integration APIs LendKey offers for 3rd party dependencies/integrations, and is for dev/qa use only. External connections are not prohibited following this document.
  termsOfService: http://www.lendkey.com
  license:
    name: Lendkey License
    url: http://www.lendkey.com
  version: 1.0.0
  contact:
    name: LendKey Product Operations Team
    url: http://www.lendkey.com
    email: HIL_product_team@lendkey.com
servers:
- url: https://proxy.kong.lkeyprod.com/integration/
  description: This is the production host for our API endpoints.
- url: https://proxy.kong.lkeystaging.com/integration/
  description: This is the staging host for our API endpoints. Please note that the ability to create a soft-pull is disabled in this environment. If credit pull testing in this environment is needed, please reach out to coordinate that.
- url: https://proxy.kong.eks-1.use-1.lkeyqa.com/integration/integration-api-spring-boot-main/
  description: This is the QA host for our API endpoints. Please use this for all development and testing purposes.
- url: '{protocol}://{env}-integration-api-spring-boot.ci.lkeyqa.com:{port}/{basePath}'
  description: The testing API server
  variables:
    protocol:
      enum:
      - http
      - https
      default: https
    env:
      default: staging
      description: 'This value is related to the environment you are running. ie: PR-1112, develop'
    port:
      enum:
      - '8443'
      - '443'
      default: '8443'
    basePath:
      description: 'Version path. ie: v1'
      default: ''
- url: http://localhost:{port}/{basePath}
  description: The local development server
  variables:
    protocol:
      enum:
      - http
      - https
      default: https
    env:
      default: develop
      description: 'this value is related to the environment you are running. ie: PR-1112, develop'
    port:
      default: '8080'
    basePath:
      description: 'Version path. ie: v1'
      default: ''
tags:
- name: onboarding
paths:
  /v1/onboarding/onboard:
    post:
      tags:
      - onboarding
      summary: Submits an application LendKey for boarding.
      description: Includes all application information as well as accepted loan offer information to board the application as a loan within LendKeys LOS.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/boardApplicationRequest'
      responses:
        200:
          description: OK
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/boardApplicationResponse'
        400:
          $ref: '#/components/responses/BadRequest'
        500:
          $ref: '#/components/responses/UnexpectedError'
components:
  schemas:
    driversLicense:
      type: object
      required:
      - number
      - state
      - expirationDate
      properties:
        number:
          type: string
        state:
          type: string
        expirationDate:
          type: string
      example:
        number: TA923290
        state: OH
        expirationDate: 11-22-2023
    suberror:
      type: object
      properties:
        object:
          type: string
        field:
          type: string
        rejectedValue:
          type: string
        message:
          type: string
      example:
        object: Resource
        field: name
        rejectedValue: null
        message: must not be null
    error:
      type: object
      properties:
        id:
          type: string
          format: uuid
        status:
          type: string
        timestamp:
          type: string
        message:
          type: string
        debugMessage:
          type: string
        subErrors:
          type: array
          items:
            $ref: '#/components/schemas/suberror'
      example:
        id: null
        status: BAD_REQUEST
        timestamp: '2019-10-21 14:07:59'
        message: Validation error
        debugMessage: null
        subErrors:
        - object: Resource
          field: name
          rejectedValue: null
          message: must not be null
    applicant:
      type: object
      required:
      - role
      - firstName
      - lastName
      - dob
      - ssn
      - email
      - totalAnnualIncome
      - monthlyHousingExpense
      - eligibility
      - employer
      properties:
        returningApplicantId:
          type: integer
          description: Optional - provide when an applicant is being onboarded with their 2nd+ offer to avoid locking them out.
        role:
          type: string
          description: The role of the applicant.  Valid values are primaryApplicant, coborrower
          example: primaryApplicant
        name:
          type: object
          allOf:
          - $ref: '#/components/schemas/name'
        dob:
          type: string
          example: 11-22-1990
        ssn:
          type: string
          example: '123456789'
        driversLicense:
          type: object
          allOf:
          - $ref: '#/components/schemas/driversLicense'
        isMarried:
          type: boolean
          example: true
        militaryStatus:
          type: string
          example: Active Duty
        email:
          type: string
          example: test@email.com
        employer:
          type: string
          example: Company A
        employerPhone:
          type: string
          example: 360-901-9917
        phoneNumbers:
          type: array
          items:
            $ref: '#/components/schemas/phoneNumber'
        preferredPhone:
          type: string
          description: The preferred phone number.  The only valid values are Home, Cell, and Work.
          example: Cell
        smsAllowed:
          type: boolean
          example: true
        consentToContact:
          type: boolean
          example: true
        address:
          type: object
          allOf:
          - $ref: '#/components/schemas/address'
        totalAnnualIncome:
          type: number
          example: 130000
        otherIncome:
          type: number
          example: 5000
        monthlyHousingExpense:
          type: number
          example: 2100
        eligibility:
          type: object
          allOf:
          - $ref: '#/components/schemas/eligibility'
        relationship:
          type: string
          description: Required for coApplicant.  Valid values are Parent, Spouse, Relative, Friend, Other
          example: Relative
    phoneNumber:
      type: object
      required:
      - type
      - phoneNumber
      properties:
        type:
          type: string
          description: The type of phone number.  Only valid values are Cell, Home, Work
        phoneNumber:
          type: string
      example:
        type: Cell
        phoneNumber: '8005882300'
    eligibility:
      type: object
      required:
      - primaryResidence
      - propertyOwnership
      - citizenship
      properties:
        primaryResidence:
          type: boolean
        propertyOwnership:
          type: boolean
        citizenship:
          type: string
          description: One of US, permanentResident, non-US
      example:
        primaryResidence: true
        propertyOwnership: true
        citizenship: US
    boardApplicationRequest:
      type: object
      required:
      - submissionUuid
      - applicants
      - project
      - consentOfDisclosures
      - contractorId
      - requestedLoanAmount
      - selectedOffer
      properties:
        submissionUuid:
          type: string
          format: uuid
          description: A unique identifying UUID that will be used to correlate this application to the loan it is transforming into.
          example: 40121260-4082-4c22-b70c-b5be137bf2a0
        applicants:
          type: array
          items:
            anyOf:
            - $ref: '#/components/schemas/applicant'
        project:
          type: object
          allOf:
          - $ref: '#/components/schemas/project'
        authorizedUser:
          type: object
          allOf:
          - $ref: '#/components/schemas/authorizedUser'
        consentOfDisclosures:
          type: boolean
          example: true
        contractorNetworkId:
          type: string
        contractorId:
          type: integer
        requestedLoanAmount:
          type: number
        selectedOffer:
          type: object
          allOf:
          - $ref: '#/components/schemas/selectedOffer'
        merchantUseOnly:
          type: string
          example: ''
        promoCode:
          type: string
          example: null
        applicationType:
          type: string
          example: null
        preferredLanguage:
          type: string
          example: english
        referenceNumber:
          type: string
          example: ''
    name:
      type: object
      properties:
        firstName:
          type: string
        middleName:
          type: string
        lastName:
          type: string
        suffix:
          type: string
          description: Valid values are Jr. Sr. II III IV V
      example:
        firstName: John
        middleName: M
        lastName: Doe
        suffix: Jr.
    authorizedUser:
      type: object
      required:
      - name
      - email
      - relationship
      properties:
        name:
          type: object
          allOf:
          - $ref: '#/components/schemas/name'
        phoneNumber:
          type: string
          example: '8005882300'
        email:
          type: string
          example: j.doe@gmail.com
        relationship:
          type: string
          example: Father
    project:
      type: object
      required:
      - projectCost
      - projectAddress
      - addressLineOne
      - city
      - state
      - zipCode
      properties:
        projectCost:
          type: number
        projectAddress:
          type: string
        addressLineOne:
          type: string
        addressLineTwo:
          type: string
        city:
          type: string
        state:
          type: string
        zipCode:
          type: string
        isSameAsPrimaryResidence:
          type: boolean
        yearOfHomePurchase:
          type: string
        housingStatus:
          type: string
        applicantsOnDeedOrTitle:
          type: boolean
        currentHomeValue:
          type: number
        mortgageBalance:
          type: number
        monthlyHousingPayments:
          type: number
        projectType:
          type: string
        projectDescription:
          type: string
        projectExpectedDuration:
          type: string
        projectStatus:
          type: string
        termsRequested:
          type: string
      example:
        projectCost: 500000
        projectAddress: 500 Main Street, PORTLAND, OR 97209
        addressLineOne: 500 Main Street
        addressLineTwo: null
        city: PORTLAND
        state: OR
        zipCode: '97209'
        isSameAsPrimaryResidence: null
        yearOfHomePurchase: null
        housingStatus: null
        applicantsOnDeedOrTitle: null
        currentHomeValue: null
        mortgageBalance: null
        monthlyHousingPayments: null
        projectType: null
        projectDescription: null
        projectExpectedDuration: null
        projectStatus: null
        termsRequested: null
    boardApplicationResponse:
      type: object
      required:
      - loanId
      - loanKey
      - url
      - applicants
      properties:
        applicantId:
          type: integer
        coApplicantId:
          type: integer
        loanId:
          type: integer
        loanKey:
          type: string
        url:
          type: string
      example:
        loanId: 9323
        loanKey: HIL-615486020
        url: http://homeImprovement-apply.lvh.me/access/HIL-615486020/by_token?auth=a7127e56d48a6cd5cc4054451c26530b67813c3a0f754d4f502037db96a199b71b26a1c404c30bc2834451a7c1b2be9a2c5c4bbd61567f1d91b71e89b0
        applicants:
        - role: primaryApplicant
          returningApplicantId: 593093
        - role: coborrower
          returningApplicantId: 593094
    address:
      type: object
      required:
      - addressLineOne
      - city
      - state
      - zipCode
      properties:
        addressLineOne:
          type: string
        addressLineTwo:
          type: string
        city:
          type: string
        state:
          type: string
        zipCode:
          type: string
        country:
          type: string
        township:
          type: string
      example:
        addressLineOne: 500 Main Street
        addressLineTwo: ''
        city: PORTLAND
        state: OR
        zipCode: '97209'
        country: null
        township: null
    selectedOffer:
      type: object
      required:
      - programId
      - termInMonths
      - loanRate
      - rateIndex
      - maximumLoanAmount
      properties:
        programId:
          type: integer
        fomQueryId:
          type: integer
        termInMonths:
          type: integer
        loanRate:
          type: number
        rateIndex:
          type: string
        maximumLoanAmount:
          type: number
      example:
        program_id: 1473
        fom_query_id: 4146689
        loanRate: 1.5
        rateIndex: prime
        termInMonths: 120
        maximumLoanAmount: 85000
  responses:
    BadRequest:
      description: Invalid request, unable to process the request with the information provided.
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/error'
          example:
            id: b6c52a48-551a-42ef-b361-f642d25cfeb7
            status: BAD_REQUEST
            timestamp: '2019-10-21 14:07:59'
            message: Describes what was invalid about the request, if possible.
            debugMessage: null
    UnexpectedError:
      description: An unexpected server error occurred.
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/error'
          example:
            id: b6c52a48-551a-42ef-b361-f642d25cfeb7
            status: INTERNAL_SERVER_ERROR
            timestamp: '2019-10-21 14:07:59'
            message: An internal issue occurred.  Please try again shortly.  If the issue persists, contact us with all of the data in this error message.
            debugMessage: null