Skip to content

Add Attributes

Request URL

POST /customer/kyc/add-attributes (deprecated)

Description

This endpoint is deprecated. Instead of using /customer/kyc and /document endpoints, we recommend the use of the /akepa endpoints for KYC/KYB verification and document upload.

This endpoint can be used if additional attributes were requested in the previous step.

Required Properties Description Schema Example Values
customerId Customer ID in connectFi string "csta_6clNH3W2pBehujY8mpTCU8"
Optional Properties Description Schema Example Values
additionalAttributes An object containing optional cardAttributes (if the customer intends to open a card) object { cardAttributes: {//see cardAttributes Object below}}

cardAttributes Object

Required Properties Description Schema Example Values
productID Product ID of card which will specify what type of debit card is being issued (this could be a physical debit card or a virtual debit card.) The productID (also referred to as program_id) will be specific to your products that are offered through this endpoint. string "Virtual_Debit_Card"
nameOnCard Full customer name that will appear on the card string "JESSIE U TESTMAN"
designId An ID representing the design chosen for the card string "1"
addressType Type of address string "PRIMARY" or "SECONDARY"
issueType Description identifying issue category of card string "NEW", "REGISTRATION", "RE-ISSUE", "EXPIRED", or "DAMAGED"
additionalData An object containing any additional properties that should be included object { //additional properties }

Request Body

HEADERS

{
    "Content-Type": "application/json",
    "x-connectfi-token": "a long random string" //Authorization token received from /auth/get-token request
}

REQUEST BODY

{
    "customerId": "csta-6TqoA6HtSItCANO1KT0W7u", //customer ID in connectFi
    "additionalAttributes": {
        "cardAttributes": {
            "productID": "AWSM_API_Evolve_Test",
            "nameOnCard": "JOHN TESTMAN",
            "designId": "1",
            "addressType": "PRIMARY",
            "issueType": "NEW",
            "additionalData": {
                "designId": "1"
            }
        }
    }
}

Successful Response Example

200 (HTTP response status code) -- Success, additional attributes have been added

{
    "code": "0", //Success
    "data": {
        "customer": {
            "reference": "22223", //unique external reference in your system
            "customerId": "csta-6TqoA6HtSItCANO1KT0W7u", //customer ID in connectFi
            "customerType": "individual",
            "customer": { //customer object
            },
            "kycStatus": "WAITING_DATA",
            "boises": [],
            "dtsCreatedAt": "2022-10-07T17:18:56.424Z"
        },
        "kyc": {
            "attributeCodes": [
                "cardAttributes"
            ],
            "system": "condor",
            "mode": "licenseUSACondor",
            "status": "WAITING_DATA"  
        },
        "kycDocumentList": [ //a list of expected documents that the process is waiting on
            {
                "id": "doc-2WQXvO8xWi4lVgwbWVjo0w",
                "label": "LICENSE FRONT",
                "type": "LICENSE",
                "documentSide": "FRONT",
                "uploadStatus": false
            },
            {
                "id": "doc-2WQXvPNAoAdQeG47y3f1jy",
                "label": "LICENSE BACK",
                "type": "LICENSE",
                "documentSide": "BACK",
                "uploadStatus": false
            }
        ]
    },
    "kycAttributes" : { //confirmation that attributes were accepted
        "cardAttributes": {
            "productID": "AWSM_API_Evolve_Test",
            "nameOnCard": "JOHN TESTMAN",
            "designId": "1",
            "addressType": "PRIMARY",
            "issueType": "NEW",
            "additionalData": {
                "designId": "1"
            }
        }
    },
    "requestId": "5df80330b85111ed94b4966a132cde12"
}

Errors

400 (HTTP response status code) -- Incorrect input data

If the "additionalAttributes" field is missing, an exception will be thrown.

{
    "code": "exception",
    "requestId": "10cbbc90b85211ed94b4966a132cde12"
}

400 (HTTP response status code) -- Incorrect input data

If any required fields are missing, connectFi will indicate the missing fields.

{
    "requestId": "25e0ec40b85211ed94b4966a132cde12",
    "code": "requestValidateError", //data validation error
    "context": [  //may contain several items each mentioning a field missing
        {
            "instancePath": "",
            "schemaPath": "#/required",
            "keyword": "required",
            "params": {
                "missingProperty": "customerId"
            },
            "message": "must have required property 'customerId'"
        }
    ]
}

400 (HTTP response status code) -- KYC status is not "WAITING DATA"

In this example, a request to add additional attributes was made for a customer who already has an "APPROVED" KYC status, resulting in an error.

{
    "requestId": "6fae9720b91811ed94b4966a132cde12",
    "code": "statusNotWAITING_DATA",
    "message": "Need WAITING_DATA status"
}