AltScore
Borrower Central (BC)

Contact Points API

This API allows managing contact points (PoC) associated with borrowers in the system. It provides endpoints to create, read, update, delete, and verify contact points, as well as to perform queries on them.

The Point of Contact Object

The Point of Contact object represents a contact point associated with a borrower in the system.

{
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "label": "Main Phone",
    "contactMethod": "phone",
    "value": "+34600000000",
    "borrowerId": "789e4567-e89b-12d3-a456-426614174111",
    "isVerified": true,
    "priority": 1,
    "verifiedAt": "2023-04-01T12:00:00Z",
    "tags": ["main", "verified"],
    "createdAt": "2023-01-01T00:00:00Z",
    "updatedAt": "2023-04-01T12:00:00Z",
    "signatures": ["sig123", "sig456"]
}

Attributes

AttributeDescriptionType
idUnique identifier of the contact pointString
labelDescriptive label of the contact pointString
contactMethodContact method (phone or email)String
valueValue of the contact point (phone number or email address)String
borrowerIdIdentifier of the associated borrowerString
isVerifiedIndicates if the contact point has been verifiedBoolean
priorityPriority of the contact pointInteger
verifiedAtDate and time of contact point verificationString (ISO 8601)
tagsList of tags associated with the contact pointArray of String
createdAtDate and time of contact point creationString (ISO 8601)
updatedAtDate and time of the last update of the contact pointString (ISO 8601)
signaturesList of associated signature identifiersArray of String

Available Operations

Create a New Contact Point

Creates a new contact point in the system.

POST /v1/points-of-contact

Input Parameters:

ParameterDescriptionTypeRequired
borrowerIdID of the associated borrowerStringYes
labelDescriptive label of the contact pointStringNo
contactMethodContact method (phone or email)StringYes
valueValue of the contact pointStringYes
priorityPriority of the contact pointIntegerNo
tagsList of tagsArray of StringNo

Example Request:

{
    "borrowerId": "789e4567-e89b-12d3-a456-426614174111",
    "label": "Main Phone",
    "contactMethod": "phone",
    "value": "+34600000000",
    "priority": 1,
    "tags": ["main"]
}

Successful Response:

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

Get a Contact Point

Retrieves the information of a specific contact point.

GET /v1/points-of-contact/:point_of_contact_id

Path Parameters:

ParameterDescription
point_of_contact_idID of the contact point to retrieve

Successful Response:

The response will be a Point of Contact object.

Update a Contact Point

Updates the information of an existing contact point.

PATCH /v1/points-of-contact/:point_of_contact_id

Path Parameters:

ParameterDescription
point_of_contact_idID of the contact point to update

Input Parameters:

ParameterDescriptionTypeRequired
labelNew descriptive labelStringNo
contactMethodNew contact methodStringNo
valueNew value of the contact pointStringNo
priorityNew priorityIntegerNo
tagsNew list of tagsArray of StringNo

Example Request:

{
    "label": "Secondary Phone",
    "priority": 2,
    "tags": ["secondary", "updated"]
}

Successful Response:

The response will be the updated Point of Contact object.

Delete a Contact Point

Deletes a contact point from the system.

DELETE /v1/points-of-contact/:point_of_contact_id

Path Parameters:

ParameterDescription
point_of_contact_idID of the contact point to delete

Successful Response:

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

Initiate Contact Point Verification

Initiates the verification process of a contact point by sending an OTP.

POST /v1/points-of-contact/:point_of_contact_id/verification

Path Parameters:

ParameterDescription
point_of_contact_idID of the contact point to verify

Input Parameters:

ParameterDescriptionTypeRequired
templateIdID of the template for the OTP messageStringYes

Example Request:

{
    "templateId": "otp_verification_template_001"
}

Successful Response:

{
    "otpId": "otp_123456789"
}

Verify a Contact Point

Verifies a contact point using the sent OTP code.

POST /v1/points-of-contact/:point_of_contact_id/verification/attempt

Path Parameters:

ParameterDescription
point_of_contact_idID of the contact point to verify

Input Parameters:

ParameterDescriptionTypeRequired
otpIdID of the sent OTPStringYes
codeReceived OTP codeStringYes

Example Request:

{
    "otpId": "otp_123456789",
    "code": "123456"
}

Successful Response:

Status code 202 (Accepted) if the verification was successful.

List Contact Points

Retrieves a paginated list of contact points with filtering and sorting options.

GET /v1/points-of-contact

Query Parameters:

ParameterDescriptionType
borrower-idFilter by borrower IDString
contact-methodFilter by contact methodString
priorityFilter by priorityInteger
searchText to search in contact pointsString
pagePage number (default: 1)Integer
per-pageItems per page (default: 10)Integer
sort-byField to sort byString
sort-directionSorting direction (asc or desc)String

Successful Response:

The response will be a paginated list of Point of Contact objects.

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.

On this page