Onboarding

This section describes the API for customer onboarding. It is recommended to read the document Onboard Your Customer to understand the onboarding process of Choice bank.

Initiate an SME Onboarding Request

POST /onboarding/business/applyForSmeOnboarding

<Use this endpoint to start onboarding an SME customer>

Parameters

Parameters
Type
Description
Is Required

userId

string

A unique string to identify the user in the partner system.

TRUE

countryCode

string

The country code of the mobile, that the customer is using to onboard

TRUE

mobile

string

The mobile number that the customer is using to onboard

TRUE

email

string

Email address of the customer.

When otpType == SMS, this is optional;

When otpType == EMAIL, this is mandatory.

FALSE

businessType

Integer

Business type of the SME customer that is to onboard.

1 - Sole Proprietorship

2 - Limited Liability Company

3 - Partnership

4 - NGO / CBO

TRUE

otpType

string

Onboard an SME requires OTP confirmation. This determins the type of OTP that they want to receive to do OTP confirmation and onboard.

Support values:

SMS

EMAIL

TRUE

Response

{
  "onboardingRequestId": "ONBOARD7695534567876"
}

Submit Basic Info - Sole Proprietorship

POST /onboarding/business/submitStoreOnboardingRequest

<Use this endpoint to onboard a new Sole Proprietorship SME customer and submit its kyc information>

Parameters

Parameters
Type
Description
Is Required

onboardingRequestId

string

A unique string generated by Choice to identify a certain onboarding request

TRUE

businessName

string

Business's name

TRUE

businessCerNum

string

Business certificate number

TRUE

firstName

string

First name of the onboarding business owner

TRUE

middleName

string

middle name of the onboarding business owner

FALSE

lastName

string

last name of the onboarding business owner

TRUE

birthday

string

Date of Birth of the business owner; yyyy-MM-dd

TRUE

gender

integer

0 - Female

1 - Male

TRUE

idNumber

string

ID Number of National ID/Passport/Alien ID

TRUE

kraPin

string

KRA PIN / Tax Number of the business (owner)

TRUE

kinFullName

string

The full name of the business owner's next kin

TRUE

kinRelationship

string

The relationship between the business owner and its next kin

TRUE

kinCountryCode

string

Country code of the business owner's next kin (mobile)

TRUE

kinMobile

string

Mobile number of the business owner's next kin

TRUE

businessAddress

string

Physical address of the onboarding business

TRUE

businessIndustry

string

This field captures the industry the business is operating in. Please submit the number representing the business sector.

1 - Agriculture and Agribusiness

2 - Manufacturing and Processing

3 - Construction and Engineering

4 - Retail and Wholesale Trade

5 - Information and Communication Technology

6 - Tourism and Hospitality

7 - Health and Wellness Services

8 - Education and Training

9 - Financial Services

10 - Professional Services

11 - Creative Industries

12 - Renewable Energy and Environmental Conservation

13 - Transport and Logistics

14 - Food and Beverage

15 - Textiles and Apparel

16 - Automotive and Engineering Services

17 - Beauty and Personal Care

18 - Real Estate and Property Development

19 - Consulting and Business Services

20 - Social Enterprises and NGOs

21 - Others, please specify

TRUE

specifyIndustry

string

When businessIndustry == Others, please specify, this field is Mandatory.

FALSE

Response

{
  "code": "00000",
  "msg": "Completed successfully"
}

Submit Basic Info - LLC

POST /onboarding/business/submitCompanyOnboardingRequest

<Use this endpoint to onboard a new Limited Liability Company SME customer and submit its kyc information>

Parameters

Parameters
Type
Description
Is Required

onboardingRequestId

string

A unique string generated by Choice to identify a certain onboarding request

TRUE

businessName

string

Business's name

TRUE

businessCerNum

string

Business certificate number

TRUE

kraPin

string

KRA PIN / Tax Number of the business

TRUE

operatingMode

integer

1 - Singly

2 - Either to sign

3 - Any Two to Sign

4 - All of Us Jointly

TRUE

businessAddress

string

Physical address of the onboarding business

TRUE

businessIndustry

string

This field captures the industry the business is operating in. Please submit the number representing the business sector.

1 - Agriculture and Agribusiness

2 - Manufacturing and Processing

3 - Construction and Engineering

4 - Retail and Wholesale Trade

5 - Information and Communication Technology

6 - Tourism and Hospitality

7 - Health and Wellness Services

8 - Education and Training

9 - Financial Services

10 - Professional Services

11 - Creative Industries

12 - Renewable Energy and Environmental Conservation

13 - Transport and Logistics

14 - Food and Beverage

15 - Textiles and Apparel

16 - Automotive and Engineering Services

17 - Beauty and Personal Care

18 - Real Estate and Property Development

19 - Consulting and Business Services

20 - Social Enterprises and NGOs

21 - Others, please specify

TRUE

specifyIndustry

string

When businessIndustry == Others, please specify, this field is Mandatory.

FALSE

Response

{
  "code": "00000",
  "msg": "Completed successfully"
}

Submit Basic Info - Partnership

POST /onboarding/business/submitPartnershipOnboardingRequest

<Use this endpoint to onboard a new Partnership SME customer and submit its kyc information>

Parameters

Parameters
Type
Description
Is Required

onboardingRequestId

string

A unique string generated by Choice to identify a certain onboarding request

TRUE

businessName

string

Business's name

TRUE

businessCerNum

string

Business certificate number

TRUE

kraPin

string

KRA PIN / Tax Number of the business

TRUE

operatingMode

integer

1 - Singly

2 - Either to sign

3 - Any Two to Sign

4 - All of Us Jointly

TRUE

businessAddress

string

Physical address of the onboarding business

TRUE

businessIndustry

string

This field captures the industry the business is operating in. Please submit the number representing the business sector.

1 - Agriculture and Agribusiness

2 - Manufacturing and Processing

3 - Construction and Engineering

4 - Retail and Wholesale Trade

5 - Information and Communication Technology

6 - Tourism and Hospitality

7 - Health and Wellness Services

8 - Education and Training

9 - Financial Services

10 - Professional Services

11 - Creative Industries

12 - Renewable Energy and Environmental Conservation

13 - Transport and Logistics

14 - Food and Beverage

15 - Textiles and Apparel

16 - Automotive and Engineering Services

17 - Beauty and Personal Care

18 - Real Estate and Property Development

19 - Consulting and Business Services

20 - Social Enterprises and NGOs

21 - Others, please specify

TRUE

specifyIndustry

string

When businessIndustry == Others, please specify, this field is Mandatory.

FALSE

Response

{
  "code": "00000",
  "msg": "Completed successfully"
}

Submit Basic Info - NGO / CBO

POST /onboarding/business/submitOrganisationOnboardingRequest

<Use this endpoint to onboard a new NGO / CBO SME customer and submit its kyc information>

Parameters

Parameters
Type
Description
Is Required

onboardingRequestId

string

A unique string generated by Choice to identify a certain onboarding request

TRUE

businessName

string

Business's name

TRUE

businessCerNum

string

Business certificate number

TRUE

kraPin

string

KRA PIN / Tax Number of the business

TRUE

operatingMode

integer

1 - Singly

2 - Either to sign

3 - Any Two to Sign

4 - All of Us Jointly

TRUE

businessAddress

string

Physical address of the onboarding business

TRUE

businessIndustry

string

This field captures the industry the business is operating in. Please submit the number representing the business sector.

1 - Agriculture and Agribusiness

2 - Manufacturing and Processing

3 - Construction and Engineering

4 - Retail and Wholesale Trade

5 - Information and Communication Technology

6 - Tourism and Hospitality

7 - Health and Wellness Services

8 - Education and Training

9 - Financial Services

10 - Professional Services

11 - Creative Industries

12 - Renewable Energy and Environmental Conservation

13 - Transport and Logistics

14 - Food and Beverage

15 - Textiles and Apparel

16 - Automotive and Engineering Services

17 - Beauty and Personal Care

18 - Real Estate and Property Development

19 - Consulting and Business Services

20 - Social Enterprises and NGOs

21 - Others, please specify

TRUE

specifyIndustry

string

When businessIndustry == Others, please specify, this field is Mandatory.

FALSE

Response

{
  "code": "00000",
  "msg": "Completed successfully"
}

Add Shareholders / Directors (Individual)

POST /onboarding/business/submitCompanyMember

<Use this endpoint to add the information of the company's individual type of shareholders/directors>

Parameters

Parameters
Type
Description
Is Required

onboardingRequestId

string

A unique string generated by Choice to identify a certain onboarding request

TRUE

idType

string

101 - (Kenya) National ID

102 - (Kenya) Alien ID

103 - Passport

TRUE

idNumber

string

ID number

TRUE

gender

integer

0 - Female

1 - Male

FALSE

email

string

Email address

FALSE

countryCode

string

country code

TRUE

mobile

string

mobile number

TRUE

firstName

string

First name of the shareholder / director

TRUE

middleName

string

Middle name of the shareholder / director

FALSE

lastName

string

Last name of the shareholder / director

TRUE

kraPin

string

KRA PIN / Tax Number of the shareholder / director

TRUE

idFrontSideFile

string

Base 64 string

TRUE

idFrontSideFileType

string

Image

PDF

FALSE

idBackSideFile

string

Base 64 string

FALSE

idBackSideFileType

string

Image

PDF

FALSE

selfieFile

string

Base 64 string

FALSE

selfieFileType

string

Image

PDF

FALSE

kraPinFile

string

Base 64 string

TRUE

kraPinFileType

string

Image

PDF

FALSE

Response

{
    "memberId": "",
}

Add Shareholders / Directors (Organization)

POST /onboarding/business/submitShareholderCompanyMember

<Use this endpoint to add the information of the company's organization type of shareholders/directors>

Parameters

Parameters
Type
Description
Is Required

onboardingRequestId

string

A unique string generated by Choice to identify a certain onboarding request

TRUE

registrationFile

string

Base 64 string

TRUE

registrationFileType

string

Image

PDF

TRUE

companyName

string

Company name

TRUE

Response

{
    "companyId": "",
}

Remove Shareholders / Directors

POST /onboarding/business/removeMember

<Use this endpoint to remove company's shareholders/directors>

Parameters

Parameters
Type
Description
Is Required

onboardingRequestId

String

A unique string generated by Choice to identify a certain onboarding request

TRUE

memberId

String

For individual type of shareholders/directors, it's the memberId; For organization type, it's companyId.

TRUE

memberType

Int

0 - Individual

1 - Organization

TRUE

Response

{
    "code": "00000",
    "msg": "Completed successfully",
}

Upload Onboarding Media Materials

POST /onboarding/uploadMedia

<Use this endpoint to upload media materials for onboarding>

Parameters

Parameters
Type
Description
Is Required

onboardingRequestId

String

A unique string generated by Choice to identify a certain onboarding request

TRUE

mediaBase64

String

Base 64 string

TRUE

mediaType

String

Please refer to SME Account - Documents

TRUE

contentType

String

Image

PDF

FALSE

Response

{
    "fileId": "",
}

Remove Onboarding Media Materials

POST /onboarding/business/removeMedia

<Use this endpoint to remove the media materials that have been uploaded>

Parameters

Parameters
Type
Description
Is Required

onboardingRequestId

String

A unique string generated by Choice to identify a certain onboarding request

TRUE

fileId

String

The ID of the file that is to be removed

TRUE

Response

{
    "code": "00000",
    "msg": "Completed successfully",
}

Submit / Pull Back Onboarding Request

POST /onboarding/submitOrPullBackRequest

<Use this endpoint to submit (send it for Bank Reviewing) or Pull Back (send it for further editing) the onboarding requests>

Parameters

Parameters
Type
Description
Is Required

onboardingRequestId

String

A unique string generated by Choice to identify a certain onboarding request

TRUE

action

String

0 - Pull Back

1 - Submit

TRUE

Response

{
    "code": "00000",
    "msg": "Completed successfully",
}

Cancel Onboarding Request

POST /onboarding/cancelOnboardingRequest

<Use this endpoint to cancel the onboarding requests. If not actively cancelling it, the onboarding request will wait until its automatic cancelling time. Before OTP confirmation, it's 30 mins, after OTP confirmation, it's 72 hours.>

Parameters

Parameters
Type
Description
Is Required

onboardingRequestId

String

A unique string generated by Choice to identify a certain onboarding request

TRUE

Response

{
    "code": "00000",
    "msg": "Completed successfully",
}

Query Onboarding Info - Sole Proprietor

POST /onboarding/business/getStoreOnboardingInfo

<Use this endpoint to query the onboarding information & materials for Sole Proprietorship type of SME>

Parameters

Parameters
Type
Description
Is Required

onboardingRequestId

String

A unique string generated by Choice to identify a certain onboarding request

TRUE

Response

{
    "onboardingRequestId": "00000",
    "smeName": "",
    "businessType": "", //1-Sole Proprietorship; 2-LLC; 3-Partnership; 5-NGO/CBO
    "countryCode": "",
    "mobile": "",
    "email": "",
    "krapin": "",
    "businessCertificateNumber": "",
    "channel": "",
    "channelUserId": "",
    "ownerFullName": "",
    "ownerIdNumber": "",
    "ownerIdType": "",
    "ownerBirthDay": "",
    "kinFullName": "",
    "kinCountryCode": "",
    "kinMobile": "",
    "kinRelationship": "",
    "onboardingMediaInfos": [
        {
            "fileUrl": "",
            "mediaType": "",
            "contentType": "",
            "fileTypeId": "",
            "fileKey": "",
            "fileId": "",
        }
    ],
    "status": "",
    "rejectReasonIds": [
    ],
    "rejectReasonMsgs": [
    ],
    "createTime": "",
    "auditTime": "",
    "businessIndustry": "",
    "specifyIndustry": "",
    "businessAddress": "",
}

Query Onboarding Info - LLC

POST /onboarding/business/getCompanyOnboardingInfo

<Use this endpoint to query the onboarding information & materials for LLC type of SME>

Parameters

Parameters
Type
Description
Is Required

onboardingRequestId

String

A unique string generated by Choice to identify a certain onboarding request

TRUE

Response

{
    "onboardingRequestId": "00000",
    "smeName": "",
    "businessType": "", //1-Sole Proprietorship; 2-LLC; 3-Partnership; 5-NGO/CBO
    "countryCode": "",
    "mobile": "",
    "email": "",
    "krapin": "",
    "businessCertificateNumber": "",
    "channel": "",
    "channelUserId": "",
    "onboardingMediaInfos": [
        {
            "fileUrl": "",
            "mediaType": "",
            "contentType": "",
            "fileTypeId": "",
            "fileKey": "",
            "fileId": "",
        }
    ],
    "shareholdersMemberInfos": [
        {
            "memberId": "",
            "countryCode": "",
            "mobile": "",
            "idType": "",
            "idNumber": "",
            "firstName": "",
            "middleName": "",
            "lastName": "",
            "fullName": "",
            "kraPin": "",
            "idFrontFileUrl": "",
            "idFrontFileType": "",
            "selfieFileUrl": "",
            "selfieFileType": "",
            "idBackFileUrl": "",
            "idBackFileType": "",
            "kraPinFileUrl": "",
            "kraPinFileType": "",
        }
    ],
    "shareholdersCompanyInfos": [
        {
            "companyId": "",
            "companyName": "",
            "registrationFileKey": "",
            "registrationFileUrl": "",
            "registrationFileType": "",
        }
    ],
    "status": "",
    "rejectReasonIds": [
    ],
    "rejectReasonMsgs": [
    ],
    "createTime": "",
    "auditTime": "",
    "businessIndustry": "",
    "specifyIndustry": "",
    "businessAddress": "",
}

Query Onboarding Info - NGO / CBO

POST /onboarding/business/getOrganisationOnboardingInfo

<Use this endpoint to query the onboarding information & materials for NGO/CBO type of SME>

Parameters

Parameters
Type
Description
Is Required

onboardingRequestId

String

A unique string generated by Choice to identify a certain onboarding request

TRUE

Response

{
    "onboardingRequestId": "00000",
    "smeName": "",
    "businessType": "", //1-Sole Proprietorship; 2-LLC; 3-Partnership; 5-NGO/CBO
    "countryCode": "",
    "mobile": "",
    "email": "",
    "krapin": "",
    "businessCertificateNumber": "",
    "channel": "",
    "channelUserId": "",
    "onboardingMediaInfos": [
        {
            "fileUrl": "",
            "mediaType": "",
            "contentType": "",
            "fileTypeId": "",
            "fileKey": "",
            "fileId": "",
        }
    ],
    "shareholdersMemberInfos": [
        {
            "memberId": "",
            "countryCode": "",
            "mobile": "",
            "idType": "",
            "idNumber": "",
            "firstName": "",
            "middleName": "",
            "lastName": "",
            "fullName": "",
            "kraPin": "",
            "idFrontFileUrl": "",
            "idFrontFileType": "",
            "selfieFileUrl": "",
            "selfieFileType": "",
            "idBackFileUrl": "",
            "idBackFileType": "",
            "kraPinFileUrl": "",
            "kraPinFileType": "",
        }
    ],
    "shareholdersCompanyInfos": [
        {
            "companyId": "",
            "companyName": "",
            "registrationFileKey": "",
            "registrationFileUrl": "",
            "registrationFileType": "",
        }
    ],
    "status": "",
    "rejectReasonIds": [
    ],
    "rejectReasonMsgs": [
    ],
    "createTime": "",
    "auditTime": "",
    "businessIndustry": "",
    "specifyIndustry": "",
    "businessAddress": "",
}

Query Onboarding Info - Partnership

POST /onboarding/business/getPartnershipOnboardingInfo

<Use this endpoint to query the onboarding information & materials for LLC/NGO/CBO type of SME>

Parameters

Parameters
Type
Description
Is Required

onboardingRequestId

String

A unique string generated by Choice to identify a certain onboarding request

TRUE

Response

{
    "onboardingRequestId": "00000",
    "smeName": "",
    "businessType": "", //1-Sole Proprietorship; 2-LLC; 3-Partnership; 5-NGO/CBO
    "countryCode": "",
    "mobile": "",
    "email": "",
    "krapin": "",
    "businessCertificateNumber": "",
    "channel": "",
    "channelUserId": "",
    "onboardingMediaInfos": [
        {
            "fileUrl": "",
            "mediaType": "",
            "contentType": "",
            "fileTypeId": "",
            "fileKey": "",
            "fileId": "",
        }
    ],
    "shareholdersMemberInfos": [
        {
            "memberId": "",
            "countryCode": "",
            "mobile": "",
            "idType": "",
            "idNumber": "",
            "firstName": "",
            "middleName": "",
            "lastName": "",
            "fullName": "",
            "kraPin": "",
            "idFrontFileUrl": "",
            "idFrontFileType": "",
            "selfieFileUrl": "",
            "selfieFileType": "",
            "idBackFileUrl": "",
            "idBackFileType": "",
            "kraPinFileUrl": "",
            "kraPinFileType": "",
        }
    ],
    "shareholdersCompanyInfos": [
        {
            "companyId": "",
            "companyName": "",
            "registrationFileKey": "",
            "registrationFileUrl": "",
            "registrationFileType": "",
        }
    ],
    "status": "",
    "rejectReasonIds": [
    ],
    "rejectReasonMsgs": [
    ],
    "createTime": "",
    "auditTime": "",
    "businessIndustry": "",
    "specifyIndustry": "",
    "businessAddress": "",
}

Query Onboarding Status

POST /onboarding/business/getBusinessOnboardingStatus

<Use this endpoint to query the onboarding status>

Parameters

Parameters
Type
Description
Is Required

onboardingRequestId

string

The unique onboarding request id that was returned from Choice system.

FALSE

businessCerNo

string

Company/Organisation's incorporation certificate number.

Either onboardingRequestId or businessCerNo is mandatory.

FALSE

Response

{
  "onboardingRequestId": "ONBOARD2309LKSD90432",
  "onboardingStatus": "Completed successfully",
  "rejectionReasonIds": [
  ],
  "rejectReasonMsgs": [
  ],
  "accountId": "46013xxxxxxxxx", 
  "accountType": "",
  "auditTime": "",
}

Last updated