Customer management APIs
Use Cross River (CR) APIs to manage your customer information (called a customer record). You need a customer record, for example, to open a deposit account or create a debit card.
Customer management APIs are found in the core
module of our COS sandbox.
Get started with Cross River APIs.
This table presents Customer Management APIs that we describe in detail.
Action |
API Call |
Description |
---|---|---|
POST /core/v1/cm/customers
|
Creates a new customer record |
|
POST /core/v1/cm/customers/{customerId}/identifications/{id}
|
Updates a customer record with customer-identifying document metadata or other unique ID |
|
POST /core/v1/cm/customers/{customerId}/beneficial-owners
|
Updates a business customer record with information about the business beneficial owner |
Onboard a customer
Creates a new customer record.
The customer record is the primary resource that contains customer information and supports the classification
of Personal or Business . Once onboarded, a customer can be associated with one or more accounts.
Some customer endpoints include a dueDiligence
resource that may or may not be required when onboarding personal customers. Your assigned compliance liaison communicates requirements for any Due Diligence fields during your onboarding process.
Request attributes
partnerId string Required Your ID in the CR system. This ID is in GUID format. |
|||||||||||||||||||||||||||||||||
name object Account holder name in detail child attributes
|
|||||||||||||||||||||||||||||||||
classification string Required The classification type of the account being created:
|
|||||||||||||||||||||||||||||||||
profile object Required Customer banking-relevant information child attributes
|
|||||||||||||||||||||||||||||||||
dueDiligence object Conditional Details for due diligence compliance for an individual customer. To be used when required. child attributes
|
|||||||||||||||||||||||||||||||||
businessDueDiligence object Optional Details for due diligence compliance for a business entity. To be used when required. child attributes
|
|||||||||||||||||||||||||||||||||
clientIdentifier string Optional Use this attribute to add your own unique identifying string to a payment call or COS record. This attribute is useful for idempotency purposes. |
|||||||||||||||||||||||||||||||||
primaryAddress object Main address for the customer child attributes
|
|||||||||||||||||||||||||||||||||
primaryPhone object Main phone number for the customer child attributes
|
|||||||||||||||||||||||||||||||||
primaryEmail string Optional Main email address for the customer child attributes
|
|||||||||||||||||||||||||||||||||
primaryIdentification string Optional Identification metadata of customer-identifying documents, such as a driver's license or passport child attributes
|
Response attributes
id string The unique customer ID for the onboarded customer. This ID is in GUID format. |
|||||||||||||||||||||||||||||||||
cifNumber string The Customer Identification File Number |
|||||||||||||||||||||||||||||||||
classification string Classification type of the account being created:
|
|||||||||||||||||||||||||||||||||
status string Status of the customer record:
|
|||||||||||||||||||||||||||||||||
ofac string Status of customer on OFAC list check:
|
|||||||||||||||||||||||||||||||||
pepScan string Status of customer on PEP list check:
|
|||||||||||||||||||||||||||||||||
internalList string Status of customer on internal CR list check:
|
|||||||||||||||||||||||||||||||||
name object Account holder name in detail. child attributes
|
|||||||||||||||||||||||||||||||||
profile object Customer banking-relevant information child attributes
|
|||||||||||||||||||||||||||||||||
createdAt string Date and time the customer was created |
|||||||||||||||||||||||||||||||||
lastModifiedAt string Internal CR value. Date and time the database entry was last modified. |
|||||||||||||||||||||||||||||||||
partnerId string Your ID in the CR system. This ID is in GUID format. |
|||||||||||||||||||||||||||||||||
dueDiligence object Details for due diligence compliance for an individual customer. child attributes
|
|||||||||||||||||||||||||||||||||
businessDueDiligence object Details for due diligence compliance for a business entity. child attributes
|
|||||||||||||||||||||||||||||||||
clientIdentifier string Use this attribute to add your own unique identifying string to a payment call or COS record. This attribute is useful for idempotency purposes. |
|||||||||||||||||||||||||||||||||
primaryAddress object Main address for the customer child attributes
|
|||||||||||||||||||||||||||||||||
primaryEmail object Main email address for the customer child attributes
|
|||||||||||||||||||||||||||||||||
primaryIdentification string Identification metadata of customer-identifying documents, such as a driver's license or passport child attributes
|
|||||||||||||||||||||||||||||||||
primaryPhone string Main phone number for the customer child attributes
|
curl -X POST
--header 'Content-Type: application/json'
--header 'Accept: application/json'
--header 'Authorization: Bearer <token>'
-d '{ \
{
"partnerId": "ad475a30-5c89-406d-9a3e-103aa38c3ba0",
"name": {
"prefix": "Mr.",
"firstName": "John",
"middleName": "Robert",
"lastName": "Smith",
"suffix": "Jr.",
"preferredName": "Jim"
},
"classification": "Personal",
"profile": {
"regO": false,
"citizenshipCountryCode": "US",
"politicallyExposedPerson": false,
"enableBackupWithholding": false,
"backupWithholdingPercent": 0,
"taxIdType": "Ssn",
"taxId": "123456789",
"birthDate": "1965-09-15",
"riskRating": "Low",
"privacyOptOut": true
}
}' 'https://sandbox.crbcos.com/Core/v1/cm/customers'
Sample response
{
"id": "49160e7c-6c94-4898-a7cc-5457b80a3307",
"cifNumber": "136274839562",
"classification": "Personal",
"status": "Active",
"name": {
"prefix": "Mr.",
"firstName": "John",
"middleName": "Robert",
"lastName": "Smith",
"suffix": "Jr.",
"preferredName": "Jim"
},
"profile": {
"regO": false,
"politicallyExposedPerson": false,
"enableBackupWithholding": false,
"taxIdType": "Ssn",
"taxId": "123456789",
"birthDate": "1965-09-15",
"riskRating": "Low",
},
"createdAt": "2018-08-30T14:24:42.394Z",
"lastModifiedAt": "2018-08-30T14:24:42.394Z",
"partnerId": "ad475a30-5c89-406d-9a3e-103aa38c3ba0"
}
Add identification information to an existing customer
Adds unique identification metadata of customer-identifying documents to customer details. This could be an official ID such as a driver's license or passport. You can also add other information such as a token from a card payment processor, to associate the card with your customer.
Request attributes
customerId string Required The unique ID assigned to a customer when the customer record is created ( The ID is in GUID format. |
isPrimary boolean Required True if this is the primary identification record for this customer. Otherwise, false. |
idNumber string Required The identification number being added |
idType string The kind of ID: Required
|
issuedDate string Optional Date the ID was issued |
expDate string Optional Date the ID expires |
verifiedDate string Optional Date the identification was verified |
issuingAuthority string Required The official authority that issued the ID. For example, the Department of Motor Vehicles. |
issuingStateOrProvince string Optional State or province where the ID was issued |
issuingCountryCode string Required Country where the ID was issued expressed as a 2-character code |
Response attributes
id string COS ID for the identification record in GUID format |
customerId string The unique ID assigned to a customer when the customer record is created ( The ID is in GUID format. |
isPrimary boolean True if this is the primary identification record for this customer. Otherwise, false. |
idNumber string The identification number of that was added to the customer record |
status string The status of the identification record in COS Explorer. If you delete a record using Explorer the database record still exists, but with status Inactive.
|
idType string The kind of ID:
|
issuedDate string Date the ID was issued yyyy-mm-dd |
expDate string Date the ID expires yyyy-mm-dd |
verifiedDate string Date the identification was verified |
issuingAuthority string The official authority that issued the ID. For example, the Department of Motor Vehicles. |
issuingStateOrProvince string State or province where the ID was issued |
issuingCountryCode string Country where the ID was issued expressed as a 2-character code |
createdAt string Time and date the ID information was added to the customer record. In this case, the date and time are in this format: yyyy-mm-ddThh:mm:ss[.mmm] |
lastModifiedAt string Internal CR value. Date and time the database entry was last modified. |
partnerId string Your ID in the CR system. This ID is in GUID format. |
Request sample
curl -X POST
--header 'Content-Type: application/json'
--header 'Accept: application/json'
--header 'Authorization: Bearer <token>'
-d '{ \
"isPrimary": true,
"idNumber": "DL12345 67890 54321",
"idType": "DriversLicense",
"issuedDate": "2018-08-30",
"expDate": "2023-08-30",
"verifiedDate": "2018-08-30",
"issuingAuthority": "NJMVC",
"issuingStateOrProvince": "NJ",
"issuingCountryCode": "US",
}' 'https://sandbox.crbcos.com/Core/v1/cm/customers/49160e7c-6c94-4898-a7cc-5457b80a3307/identifications'
Response sample
{
"id": "6d3add34-0a1e-4a4e-9c7f-b00a0091e308",
"customerId": "49160e7c-6c94-4898-a7cc-5457b80a3307",
"isPrimary": true,
"idNumber": "DL12345 67890 54321",
"status": "Active",
"idType": "DriversLicense",
"issuedDate": "2018-08-30",
"expDate": "2018-08-30",
"issuingAuthority": "NJMVC",
"issuingStateOrProvince": "NJ",
"issuingCountryCode": "US",
"createdAt": "2023-05-22T04:51:09.4656083-04:00",
"lastModifiedAt": "2023-05-22T04:51:09.4656083-04:00",
"partnerId": "ad475a30-5c89-406d-9a3e-103aa38c3ba0"
}
Add a beneficial owner to a customer record
A beneficial owner is a person who owns 25% or more of a business. For regulatory reasons, you need to create a Beneficial Owner resource in a business customer record for each beneficial owner of that business. The ownerCustomerId
attribute references the personal customer record for each beneficial owner. You usually add beneficial owner resources to the business customer record immediately after onboarding a business.
For credit BIN sponsorship, use this endpoint to associate commercial cardholders with their business employer. In this case, each cardholder is added as a beneficial owner resource, and you enter Auth User for the ownerTitle
attribute.
Request attributes
customerId string Required Customer ID of the business customer record you're updating. This is a GUID. |
ownerCustomerId string Required Customer ID of the beneficial owner personal customer record you're adding as a beneficial owner resource. This is a GUID. |
ownerTitle string Required Title of the beneficial owner (For example, CEO, board member, owner). For credit BIN sponsorship this is always Auth User. 50 characters maximum. |
ownershipPercentage number Optional Percentage of the business this beneficial owner controls. Enter the percentage in real numbers. For example, if you enter 0.20 it means 0.20%. If you enter 20, it means 20%. |
Response attributes
id string ID of the beneficial owner record. This is a GUID. |
customerId string Customer ID of the customer record that was updated. This is the ID you used in the request path. This is a GUID. |
ownerCustomerId string Customer ID of the beneficial owner personal customer record you've added as a resource. This is a GUID. |
status string Status of the beneficial owner record:
|
ownerTitle string Title of the beneficial owner (For example, CEO, board member, owner). For credit BIN sponsorship this is always Auth User. |
partnerId string Your ID in the CR system. This ID is in GUID format. |
createdAt string Date and time the record was created. In this case, the date and time are in this format: yyyy-mm-ddThh:mm:ss[.mmm] |
lastModifiedAt string Internal CR value. Date and time the database entry was last modified. |
ownershipPercentage number Percentage of the business this beneficial owner controls |
Request sample
curl -X POST
--header 'Content-Type: application/json'
--header 'Accept: application/json'
--header 'Authorization: Bearer <token>'
-d '{ \
{
"ownerCustomerId": "262a2462-048e-4a8c-9ae0-1f0c9b59c11b",
"ownerTitle": "CEO",
"ownershipPercentage": 60%
}' 'https://sandbox.crbcos.com/Core/v1/cm/customers/650688ab-e728-4030-a73d-57f6c65e0899/beneficial-owners'
Response sample
{
"id": "c8834eeb-b7e6-4578-b427-63d0768a684a",
"customerId": "650688ab-e728-4030-a73d-57f6c65e0899",
"ownerCustomerId": "262a2462-048e-4a8c-9ae0-1f0c9b59c11b",
"status": "Active",
"ownerTitle": "CEO",
"partnerId": "afe55ce4-7770-4e50-9029-12b2e1655a61",
"createdAt": "2024-01-07T08:13:08.464Z",
"lastModifiedAt": "2024-01-07T08:13:08.464Z",
"ownershipPercentage": 60%
}
Associated webhook events
Event Name |
Description |
---|---|
Core.Customer.Onboarded |
New customer was onboarded |
Core.Customer.Profile.Changed |
Customer profile was changed |
Core.Customer.Name.Changed |
Customer name changed |
Core.Customer.CifNumber.Changed |
|
Core.Customer.Address.Added |
Customer address was added |
Core.Customer.Address.Changed |
Customer address was changed |
Core.Customer.Address.Removed |
Customer address was removed |
Core.Customer.Phone.Added |
Customer phone number was added |
Core.Customer.Phone.Changed |
Customer phone number was changed |
Core.Customer.Phone.Removed |
Customer phone number was removed |
Core.Customer.Identification.Added |
Customer identification was added |
Core.Customer.Identification.Changed |
Customer identification changed |
Core.Customer.Identification.Removed |
Customer identification was removed |
Core.Customer.Email.Added |
Customer email was added |
Core.Customer.Email.Changed |
Customer email was changed |
Core.Customer.Email.Removed |
Customer email was removed |
Core.Customer.Ofac.Changed |
Customer OFAC scan resulted in a status change |
Core.Customer.PepScan.Changed |
Customer PEP Scan resulted in a status change |
Related topics
Tutorials
How to add an identification document to a customer record
How to add a beneficial owner resource to a customer record