Line of Credit

The Application API is used to collect applicants' data. As FinTech processes the application, they update the content and status of the application. The application status has to be in state 'CREDIT_ACCEPTED_BY_CUSTOMER' before a Line of Credit account can be created.

A v1 credit application consists of a primary applicant, with an option to add one or more co-applicant(s), application status, and application details. The newly added applicant section in v1 includes more standardized information on applicants to help fintechs to record the lifecycle of the application from initial submission to the resulting outcome, and share it with the sponsoring Bank. That includes if credit was extended or not, if extended was it accepted by the client or declined

The application processing is a muli-step process. The following diagram illustrates all the states the application could be in. Upon creation of the credit application, the status is APPLICATION_SUBMITTED and can flow to other states as seen in the following diagram.

Once the application is in CREDIT_ACCEPTED_BY_CUSTOMER, a LoC account can now be created.

The following diagram illustrates all the states the application could be in. Upon creation of the credit application, the status is APPLICATION_SUBMITTED and can flow to other states as seen in the following diagram.
Once the application is in CREDIT_ACCEPTED_BY_CUSTOMER, a credit account is now allowed to be created.

%%{init: {"fontFamily": "sans-serif"}}%%
stateDiagram-v2
    APPLICATION_SUBMITTED --> CREDIT_APPROVED
    APPLICATION_SUBMITTED --> CREDIT_DENIED
    CREDIT_APPROVED --> CREDIT_ACCEPTED_BY_CUSTOMER
    CREDIT_APPROVED --> CREDIT_NOT_ACCEPTED_BY_CUSTOMER

Examples

  1. Application Submitted - Create an Application - POST /v1/applications
curl -X POST \
  -H 'Authorization: Bearer $apikey' \
  -H 'Content-Type: application/json' \
  -d '
  {
    "type": "LINE_OF_CREDIT",
    "customer_id": "{CUSTOMER_UUID}",
    "application_details": {
      "fico_score": 700,
      "annual_salary": 93600
    },
    "applicants": [
      {
        "credit_score": { "score": 700, "type": "FICO" },
        "customer_id": "{CUSTOMER_UUID}",
        "financial_status": {
          "debt_to_income_ratio": 30,
          "employment_status": "EMPLOYED",
          "income": [
            { "amount": 7800, "frequency": "MONTHLY", "type": "PRIMARY" }
          ],
          "monthly_rent_mortgage": 1000
        },
        "is_primary": true
      }
    ],
    ],
  "application_details": {
    "annual_salary": 93600,
    "fico_score": 700
  },
  "review_details": {
    "adverse_action_notice_time": "2020-05-19T21:10:27.434964Z",
    "application_submitted_time": "2022-05-19T21:10:27.434964Z"
  },
  "status": "SUBMITTED",
  "type": "LINE_OF_CREDIT",
  "creation_time": "2022-09-07T18:50:51.181391Z",
  "id": "{APPLICATION_UUID}",
  "last_updated_time": "2022-09-07T18:50:51.181391Z"
  }' $baseurl/v1/applications

Sample response body:

{
"applicants": [
  {
    "credit_score": {
      "score": 700,
      "type": "FICO"
    },
    "customer_id": "{CUSTOMER_UUID}",
    "financial_status": {
      "debt_to_income_ratio": 30,
      "employment_status": "EMPLOYED",
      "income": [
        {
          "amount": 7800,
          "frequency": "MONTHLY",
          "type": "PRIMARY"
        }
      ],
      "monthly_rent_mortgage": 1000
    },
    "is_primary": true
  }
],
"application_details": {
  "annual_salary": 93600,
  "fico_score": 700
},
"review_details": {
  "adverse_action_notice_time": "2020-05-19T21:10:27.434964Z",
  "application_submitted_time": "2022-05-19T21:10:27.434964Z"
},
"status": "SUBMITTED",
"type": "LINE_OF_CREDIT",
"creation_time": "2022-09-07T18:50:51.181391Z",
"id": "{APPLICATION_UUID}",
"last_updated_time": "2022-09-07T18:50:51.181391Z"
}
  1. Credit Approved - Update the application - PATCH /v1/applications/{APPLICATION_UUID}
 curl -X PATCH \
     -H 'Authorization: Bearer $apikey' \
     -H 'Content-Type: application/json' \
     -d '
     {
         "status": "CREDIT_APPROVED"
     }' $baseurl/v1/applications/{APPLICATION_UUID}

Sample response body:

{
"applicants": [
  { 
    "credit_score": {
      "score": 700,
      "type": "FICO"
    },
    "customer_id": "{CUSTOMER_UUID}",
    "financial_status": {
      "debt_to_income_ratio": 30,
      "employment_status": "EMPLOYED",
      "income": [
        {
          "amount": 7800,
          "frequency": "MONTHLY",
          "type": "PRIMARY"
        }
      ],
      "monthly_rent_mortgage": 1000
    },
    "is_primary": true
  }
],
"application_details": {
  "annual_salary": 93600,
  "fico_score": 700
},
"review_details": {
  "application_submitted_time": "2022-05-19T21:10:27.434964Z"
},
"status": "CREDIT_APPROVED",
"type": "LINE_OF_CREDIT",
"creation_time": "2022-09-07T18:50:51.181391Z",
"id": "{APPLICATION_UUID}",
"last_updated_time": "2022-09-07T21:59:00.343722Z"
}
  1. Optionally, can also update the application details if the customer has improved their credit or increased his/her fico score - PATCH /v1/applications/{APPLICATION_UUID}

    curl -X PATCH \
        -H 'Authorization: Bearer $apikey' \
        -H 'Content-Type: application/json' \
        -d '
        {
            "application_details": {
                "fico_score": 900,
                "annual_salary": 70000
            }
        }' $baseurl/v1/applications/{APPLICATION_UUID}
    

    Sample response body:

 {
 "applicants": [
   { 
     "credit_score": {
       "score": 700,
       "type": "FICO"
     },
     "customer_id": "{CUSTOMER_UUID}",
     "financial_status": {
       "debt_to_income_ratio": 30,
       "employment_status": "EMPLOYED",
       "income": [
         {
           "amount": 7800,
           "frequency": "MONTHLY",
           "type": "PRIMARY"
         }
       ],
       "monthly_rent_mortgage": 1000
     },
     "is_primary": true
   }
 ],
 "application_details": {
   "annual_salary": 70000,
   "fico_score": 900
 },
 "review_details": {
   "application_submitted_time": "2022-05-19T21:10:27.434964Z"
 },
 "status": "CREDIT_APPROVED",
 "type": "LINE_OF_CREDIT",
 "creation_time": "2022-09-07T18:50:51.181391Z",
 "id": "{APPLICATION_UUID}",
 "last_updated_time": "2022-09-07T21:59:00.343722Z"
}
  1. Customer accepts the credit offered

  2. Update the application - PATCH /v1/applications/{APPLICATION_UUID}

    curl -X PATCH \
        -H 'Authorization: Bearer $apikey' \
        -H 'Content-Type: application/json' \
        -d '
        {
            "status": "CREDIT_ACCEPTED_BY_CUSTOMER"
        }' $baseurl/v1/applications/{APPLICATION_UUID}
    

    Sample response body:

 {
 "applicants": [
   { 
     "credit_score": {
       "score": 700,
       "type": "FICO"
     },
     "customer_id": "{CUSTOMER_UUID}",
     "financial_status": {
       "debt_to_income_ratio": 30,
       "employment_status": "EMPLOYED",
       "income": [
         {
           "amount": 7800,
           "frequency": "MONTHLY",
           "type": "PRIMARY"
         }
       ],
       "monthly_rent_mortgage": 1000
     },
     "is_primary": true
   }
 ],
 "application_details": {
   "annual_salary": 70000,
   "fico_score": 900
 },
 "review_details": {
   "application_submitted_time": "2022-05-19T21:10:27.434964Z"
 },
 "status": "CREDIT_ACCEPTED_BY_CUSTOMER",
 "type": "LINE_OF_CREDIT",
 "creation_time": "2022-09-07T18:50:51.181391Z",
 "id": "{APPLICATION_UUID}",
 "last_updated_time": "2022-09-07T21:59:00.343722Z"
}

Alternative Flows

  1. After Application Submitted, Credit is Denied - Update the application - PATCH /v1/applications/{APPLICATION_UUID}

    curl -X PATCH \
        -H 'Authorization: Bearer $apikey' \
        -H 'Content-Type: application/json' \
        -d '
        {
            "status": "CREDIT_DENIED"
        }' $baseurl/v1/applications/{APPLICATION_UUID}
    

    Sample response body:

  {
  "applicants": [
    { 
      "credit_score": {
        "score": 700,
        "type": "FICO"
      },
      "customer_id": "{CUSTOMER_UUID}",
      "financial_status": {
        "debt_to_income_ratio": 30,
        "employment_status": "EMPLOYED",
        "income": [
          {
            "amount": 7800,
            "frequency": "MONTHLY",
            "type": "PRIMARY"
          }
        ],
        "monthly_rent_mortgage": 1000
      },
      "is_primary": true
    }
  ],
  "application_details": {
    "annual_salary": 70000,
    "fico_score": 900
  },
  "review_details": {
    "application_submitted_time": "2022-05-19T21:10:27.434964Z"
  },
  "status": "CREDIT_DENIED",
  "type": "LINE_OF_CREDIT",
  "creation_time": "2022-09-07T18:50:51.181391Z",
  "id": "{APPLICATION_UUID}",
  "last_updated_time": "2022-09-07T21:59:00.343722Z"
}
  1. Fintech sends an Adverse Action Notice to Applicant - Update the application - PATCH /v1/applications/{APPLICATION_UUID}

     curl -X PATCH \
         -H 'Authorization: Bearer $apikey' \
         -H 'Content-Type: application/json' \
         -d '
         {
             "review_details": { 
               "adverse_action_reason_code": "DELINQUENT_CREDIT_HISTORY"
             }
         }' $baseurl/v1/applications/{APPLICATION_UUID}
    

    Sample response body:

     {
     "applicants": [
       { 
         "credit_score": {
           "score": 700,
           "type": "FICO"
         },
         "customer_id": "{CUSTOMER_UUID}",
         "financial_status": {
           "debt_to_income_ratio": 30,
           "employment_status": "EMPLOYED",
           "income": [
             {
               "amount": 7800,
               "frequency": "MONTHLY",
               "type": "PRIMARY"
             }
           ],
           "monthly_rent_mortgage": 1000
         },
         "is_primary": true
       }
     ],
     "application_details": {
       "annual_salary": 70000,
       "fico_score": 900
     },
     "review_details": {
       "application_submitted_time": "2022-05-19T21:10:27.434964Z",
       "adverse_action_reason_code": "DELINQUENT_CREDIT_HISTORY"
     },
     "status": "CREDIT_DENIED",
     "type": "LINE_OF_CREDIT",
     "creation_time": "2022-09-07T18:50:51.181391Z",
     "id": "{APPLICATION_UUID}",
     "last_updated_time": "2022-09-07T21:59:00.343722Z"
    }