AltScore
Borrower Central (BC)

Borrowers API

This API allows managing borrowers in the system. It provides endpoints to create, read, update, and delete borrowers, as well as perform specific operations such as updating status, risk rating, and other borrower properties.

The Borrower Central Base URL is used (see introduction).

The Borrower Object

The Borrower object represents a borrower in the system.

{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "persona": "business",
  "avatarUrl": "https://example.com/avatar.jpg",
  "label": "Company ABC",
  "tags": ["SME", "technology"],
  "flag": "green",
  "riskRating": "A",
  "repaymentRiskRating": 8,
  "currentStep": {
    "stepId": "step123",
    "order": 1,
    "key": "application",
    "label": "Application",
    "createdAt": "2023-04-01T12:00:00Z"
  },
  "cmsClientIds": ["client123", "client456"],
  "createdAt": "2023-01-01T00:00:00Z",
  "updatedAt": "2023-04-01T12:00:00Z"
}

Attributes

AttributeDescriptionType
idUnique identifier of the borrowerString
personaType of person (business or individual)String
avatarUrlURL of the borrower's avatar imageString
labelLabel or name of the borrowerString
tagsList of tags associated with the borrowerArray of String
flagFlag associated with the borrower (e.g., green, yellow, red)String
riskRatingRisk rating of the borrowerString
repaymentRiskRatingRepayment risk rating (1-10)Integer
currentStepInformation about the borrower's current stepObject
cmsClientIdsList of client IDs in the CMSArray of String
createdAtDate and time of borrower creationString (ISO 8601)
updatedAtDate and time of the last borrower updateString (ISO 8601)

Borrowers API

The Borrower Summary Object

The Borrower Summary object provides a detailed summary of a borrower, including additional information such as identities, custom fields, points of contact, and alerts.

{
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "persona": "business",
    "label": "Company ABC",
    "identities": [
        {
            "id": "id123",
            "key": "tax_id",
            "label": "Tax ID",
            "value": "123456789",
            "priority": 1
        }
    ],
    "fields": [
        {
            "id": "field123",
            "key": "industry",
            "label": "Industry",
            "value": "Technology"
        }
    ],
    "pointsOfContact": [
        {
            "id": "poc123",
            "signatures": [
                "email",
                "phone"
            ],
            "priority": 1,
            "value": "john.doe@example.com"
        }
    ],
    "alerts": [
        {
            "id": "alert123",
            "ruleId": "rule456",
            "ruleCode": "HIGH_RISK",
            "level": 3,
            "message": "High risk borrower detected",
            "isAcknowledged": false,
            "createdAt": "2023-04-01T12:00:00Z"
        }
    ],
    "tags": [
        "SME",
        "technology"
    ],
    "flag": "green",
    "stage": "application",
    "riskRating": "A",
    "repaymentRiskRating": 8,
    "currentStep": {
        "stepId": "step123",
        "order": 1,
        "key": "application",
        "label": "Application",
        "createdAt": "2023-04-01T12:00:00Z"
    },
    "cmsClientIds": [
        "client123",
        "client456"
    ],
    "createdAt": "2023-01-01T00:00:00Z",
    "updatedAt": "2023-04-01T12:00:00Z"
}

Attributes

AttributeDescriptionType
idUnique identifier of the borrowerString
personaType of person (business or individual)String
labelLabel or name of the borrowerString
identitiesList of identities associated with the borrowerArray of Object
fieldsList of custom fields of the borrowerArray of Object
pointsOfContactList of points of contact of the borrowerArray of Object
alertsList of alerts associated with the borrowerArray of Object
tagsList of tags associated with the borrowerArray of String
flagFlag associated with the borrower (e.g., green, yellow, red)String
stageCurrent stage of the borrower in the processString
riskRatingRisk rating of the borrowerString
repaymentRiskRatingRepayment risk rating (1-10)Integer
currentStepInformation about the borrower's current stepObject
cmsClientIdsList of client IDs in the CMSArray of String
createdAtDate and time of borrower creationString (ISO 8601)
updatedAtDate and time of the last borrower updateString (ISO 8601)

Nested Objects

Identity
AttributeDescriptionType
idUnique identifier of the identityString
keyKey of the identityString
labelDescriptive label of the identityString
valueValue of the identityString
priorityPriority of the identityInteger
Field
AttributeDescriptionType
idUnique identifier of the fieldString
keyKey of the fieldString
labelDescriptive label of the fieldString
valueValue of the fieldString
Point of Contact
AttributeDescriptionType
idUnique identifier of the point of contactString
signaturesList of contact types (e.g., email, phone)Array of String
priorityPriority of the point of contactInteger
valueValue of the point of contactString
Alert
AttributeDescriptionType
idUnique identifier of the alertString
ruleIdIdentifier of the rule that generated the alertString
ruleCodeRule code (optional)String
levelSeverity level of the alertInteger
messageDescriptive message of the alertString
isAcknowledgedIndicates if the alert has been acknowledgedBoolean
createdAtDate and time of alert creationString (ISO 8601)

Endpoints

Create a New Borrower

Creates a new borrower in the system.

POST /v1/borrowers

Input Parameters:

ParameterDescriptionTypeRequired
personaType of person (business or individual)StringYes
labelLabel or name of the borrowerStringNo
riskRatingInitial risk ratingStringNo
repaymentRiskRatingInitial repayment risk rating (1-10)IntegerNo
flagInitial flag (red, yellow, green)StringNo
tagsInitial list of tagsArray of StringNo

Example Request:

{
  "persona": "business",
  "label": "Startup XYZ",
  "riskRating": "B",
  "repaymentRiskRating": 7,
  "flag": "yellow",
  "tags": ["startup", "fintech"]
}

Successful Response:

{
  "id": "123e4567-e89b-12d3-a456-426614174000"
}

Get a Borrower

Retrieves information about a specific borrower.

GET /v1/borrowers/:borrower_id

Path Parameters:

ParameterDescription
borrower_idID of the borrower to retrieve

Successful Response:

The response will be a complete Borrower object, as described above.

Update a Borrower

Updates information about an existing borrower.

PATCH /v1/borrowers/:borrower_id

Path Parameters:

ParameterDescription
borrower_idID of the borrower to update

Input Parameters:

ParameterDescriptionType
labelNew label or name of the borrowerString
tagsNew list of tagsArray of String

Example Request:

{
  "label": "Startup ABC (Renovated)",
  "tags": ["startup", "fintech", "renovated"]
}

Successful Response:

The response will be the updated Borrower object.

Delete a Borrower

Deletes a borrower from the system.

DELETE /v1/borrowers/:borrower_id

Path Parameters:

ParameterDescription
borrower_idID of the borrower to delete

Successful Response:

Status code 204 (No Content) if the deletion was successful.

Update a Borrower's Risk Rating

Updates the risk rating of a borrower.

PUT /v1/borrowers/:borrower_id/risk-rating

Path Parameters:

ParameterDescription
borrower_idID of the borrower to update the risk rating

Input Parameters:

ParameterDescriptionType
valueNew risk rating valueString
referenceIdReference ID (optional)String

Example Request:

{
  "value": "A",
  "referenceId": "ref123"
}

Successful Response:

Status code 204 (No Content) if the update was successful.

Update a Borrower's Repayment Risk Rating

Updates the repayment risk rating of a borrower.

PUT /v1/borrowers/:borrower_id/repayment-risk-rating

Path Parameters:

ParameterDescription
borrower_idID of the borrower to update the repayment risk rating

Input Parameters:

ParameterDescriptionType
valueNew repayment risk rating value (1-10)Integer
referenceIdReference ID (optional)String

Example Request:

{
  "value": 8,
  "referenceId": "ref456"
}

Successful Response:

Status code 204 (No Content) if the update was successful.

Update a Borrower's Flag

Updates the flag of a borrower.

PUT /v1/borrowers/:borrower_id/flag

Path Parameters:

ParameterDescription
borrower_idID of the borrower to update the flag

Input Parameters:

ParameterDescriptionType
valueNew flag value (red, yellow, green)String
referenceIdReference ID (optional)String

Example Request:

{
  "value": "green",
  "referenceId": "ref789"
}

Successful Response:

Status code 204 (No Content) if the update was successful.

List Borrowers

Retrieves a paginated list of borrowers with filtering and sorting options.

GET /v1/borrowers

Query Parameters:

ParameterDescriptionType
searchText to search in borrowersString
pagePage number (default: 1)Integer
per-pageItems per page (default: 10)Integer
personaFilter by type of personString
sort-byField to sort byString
risk-ratingFilter by risk ratingString
current-step-keyFilter by current step keyString
cms-client-idFilter by CMS client IDString
sort-directionSorting direction (asc or desc)String

Successful Response:

The response will be a paginated list of Borrower objects.

Get Borrowers Summary

Retrieves a summary of borrowers with advanced filtering and grouping options.

GET /v1/borrowers-summary

Query Parameters:

ParameterDescriptionType
byField to group byString
borrower-idSpecific borrower IDsString
searchText to searchString
pagePage numberInteger
per-pageItems per pageInteger
personaFilter by type of personString
current-step-keyFilter by current step keyString
repayment-risk-ratingFilter by repayment risk ratingString
risk-ratingFilter by risk ratingString
flagFilter by flagString
tagsFilter by tagsString
cms-client-idFilter by CMS client IDString
sort-byField to sort byString
sort-directionSorting direction (asc or desc)String

Successful Response:

The response will be a summary of borrowers according to the specified criteria.

Send SMS to a Borrower

Sends an SMS message to a specific borrower.

POST /v1/borrowers/:borrower_id/communications/sms

Path Parameters:

ParameterDescription
borrower_idID of the recipient borrower

Input Parameters:

ParameterDescriptionType
messageSMS message contentString
pointOfContactIdPoint of contact ID (optional)String

Example Request:

{
  "message": "Your application has been approved",
  "pointOfContactId": "poc123"
}

Successful Response:

Status code 204 (No Content) if the message was sent successfully.

Associate a CMS Client ID to a Borrower

Associates a new CMS Client ID to a specific borrower.

POST /v1/borrowers/:borrower_id/cms-client-ids/:cms_client_id

Path Parameters:

ParameterDescription
borrower_idID of the borrower
cms_client_idCMS client ID to associate

Successful Response:

Status code 204 (No Content) if the association was successful.

Possible Errors:

CodeDescription
404Borrower with the specified ID not found

Update CMS Client IDs of a Borrower

Updates the complete list of CMS Client IDs associated with a specific borrower.

PUT /v1/borrowers/:borrower_id/cms-client-ids

Path Parameters:

ParameterDescription
borrower_idID of the borrower

Input Parameters:

ParameterDescriptionType
cmsClientIdsNew list of CMS Client IDsArray of String

Example Request:

{
  "cmsClientIds": ["client123", "client456", "client789"]
}

Successful Response:

Status code 204 (No Content) if the update was successful.

Possible Errors:

CodeDescription
404Borrower with the specified ID not found

Error Handling

The API may return the following error codes:

CodeDescription
400Bad Request
401Unauthorized
403Forbidden
404Not Found
500Internal Server Error

Errors will include a descriptive message in the response body.