Customers
Retrieve a list of customers with optional filtering and pagination.
Filter customers by status
Filter customers by creation date lower bound, exclusive
Filter customers by creation date upper bound, inclusive
Filter customers by reference ID
When provided, specifies the last item returned in previous page, used to fetch the next page. Fetches the first page when omitted.
When provided, specifies the number of items to return in the page. Uses default page size of 10 when omitted.
Will sort the returned data using the specified field.
Specifies the sort direction for the sortField.
OK
The token of the last item in the response
The total number of items in the entire filtered data set
1Unauthorized
Not Found
GET /api/v1/customers HTTP/1.1
Host: cams.aquanow.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"after": "text",
"totalCount": "1",
"items": [
{
"customerId": "123e4567-e89b-12d3-a456-426614174000",
"referenceId": "text",
"customerStatus": "ONBOARDING",
"customerType": "RETAIL",
"onboardingStatus": "PENDING_DOCUMENTATION_RECEIPT",
"createDate": "2026-01-01T00:00:00.000Z",
"customerPreTradeRiskGroup": "LOW",
"accounts": [
{
"accountNumber": "9019283R",
"accountName": "text",
"accountId": "123e4567-e89b-12d3-a456-426614174000",
"accountStatus": "ACTIVE",
"accountType": "CREDIT"
}
]
}
]
}Retrieve a Customer with optional filtering and pagination.
The customer ID of the customer
dac4d330-fe5b-44d0-b64a-058f7f861952OK
Date-time in ISO 8601 format
2024-08-01T18:44:05ZLOWPossible values: Electronic facial recognition status when available; null otherwise.
Document expiry date in UTC (ISO 8601); null when not available.
Emirates ID when available; null otherwise.
784-1987-1234567-1Validation Error
Unauthorized
Server error
Client error
GET /api/v1/customers/{customerId} HTTP/1.1
Host: cams.aquanow.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"customerId": "f523da38-aae5-41c8-a7e0-57a3c3b347e9",
"referenceId": "ref-123",
"customerStatus": "ACTIVE",
"onboardingStatus": "ONBOARDED",
"customerType": "RETAIL",
"createDate": "2024-08-01T18:44:05Z",
"customerPreTradeRiskGroup": null,
"accounts": [],
"documents": [],
"kycDetails": null,
"electronicFacialRecognitionStatus": "SUCCESS",
"documentExpiryDate": "2046-12-31T23:59:59.999Z",
"emiratesId": "784-1987-1234567-1"
}Will add a customer and create a permanent reference to that customer
Use this field to correlate a customer in CAMS to the customer in another system
John DoeCountry string that matches either ISO 3166 name, ISO 3166-1 A-2 or ISO 3166-1 A-3. Please see: https://www.iso.org/iso-3166-country-codes.html
CanadaToronto, CanadaRequired only when employmentStatus is 'Employed'.
AquanowRequired only when employmentStatus is 'Employed'.
A full address string
1095 W Pender St Vancouver BC 123456 CanadaThis field is required if sanctionsScreeningCompleted is YES
2024-09-10T22:26:49.739ZThis field is required if pepScreeningCompleted is YES
2024-09-10T22:26:49.739ZFor UAE address: required unless electronicFacialRecognitionStatus is SUCCESS with documentExpiryDate and emiratesId. Not required for non-UAE.
This field is required if livenessCheckCompleted is YES
2024-09-10T22:26:49.739ZThis field indicates if the customer is a politically exposed person
This field indicates if the customer is sanctioned
This field indicates the employment status of the customer.
This field indicates the result of the Electronic Facial Recognition check
NAPossible values: This field is required if electronicFacialRecognition is SUCCESS. Must be a future date.
2046-12-31T23:59:59.999ZThis field is required if electronicFacialRecognition is SUCCESS.
784-1987-1234567-1This field indicates the customer segment.
This field indicates the customer's net worth.
1000000This field indicates the customer's income.
85000This field indicates the currency of the customer's income.
USDOK
LOWPossible values: Validation Error
Unauthorized
Insufficient Privileges
Client error
Server error
POST /api/v1/customers HTTP/1.1
Host: cams.aquanow.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 951
{
"referenceId": "text",
"fullName": "John Doe",
"nationality": "Canada",
"address": {
"streetNumber": "1234",
"streetName": "Main St",
"unit": "Apt 101",
"poBox": "PO Box 1234",
"postalCode": "M5V 1A1",
"city": "Toronto",
"state": "ON",
"country": "Canada",
"addressType": "RESIDENTIAL"
},
"placeOfBirth": "Toronto, Canada",
"dateOfBirth": "2026-01-01",
"employerName": "Aquanow",
"employerAddress": "1095 W Pender St Vancouver BC 123456 Canada",
"sanctionsScreeningCompleted": "YES",
"sanctionsScreeningCompletedAt": "2024-09-10T22:26:49.739Z",
"pepScreeningCompleted": "YES",
"pepScreeningCompletedAt": "2024-09-10T22:26:49.739Z",
"livenessCheckCompleted": "YES",
"livenessCheckCompletedAt": "2024-09-10T22:26:49.739Z",
"isPEP": "YES",
"isSanctioned": "YES",
"employmentStatus": "EMPLOYED",
"electronicFacialRecognitionStatus": "NA",
"documentExpiryDate": "2046-12-31T23:59:59.999Z",
"emiratesId": "784-1987-1234567-1",
"customerSegment": "RETAIL",
"netWorth": "1000000",
"income": "85000",
"incomeCurrency": "USD"
}{
"customerId": "123e4567-e89b-12d3-a456-426614174000",
"referenceId": "text",
"customerStatus": "ONBOARDING",
"customerType": "RETAIL",
"onboardingStatus": "PENDING_DOCUMENTATION_RECEIPT",
"createdAt": "2026-01-01T00:00:00.000Z",
"customerPreTradeRiskGroup": "LOW",
"documents": [
{
"documentType": "PASSPORT",
"documentStatus": "PENDING_RECEIPT"
},
{
"documentType": "NATIONAL_ID_FRONT",
"documentStatus": "PENDING_RECEIPT"
},
{
"documentType": "NATIONAL_ID_BACK",
"documentStatus": "PENDING_RECEIPT"
}
]
}Update customer information including pre-trade risk group and PII data. Submit a request to update the Customer Pre-Trade Risk Group based on the outcomes of appropriateness/suitability tests during onboarding and periodic reviews, to set limits on order sizes and monthly trade volumes for risk mitigation; may require broker approval. Additionally, modify customer PII attributes such as name, nationality, address, employment details, etc. When updating employment status to EMPLOYED, employer address becomes required. When providing address or employer address, all respective required fields must be included. All PII attributes are optional at the top level and only specified fields will be updated.
The customer ID of the customer
dac4d330-fe5b-44d0-b64a-058f7f861952LOWPossible values: John DoeCanadaToronto, Canada1990-01-15AquanowThis field indicates the employment status of the customer
OK
LOWPossible values: John DoeCanadaToronto, Canada1990-01-15AquanowThis field indicates the employment status of the customer
Validation Error
Unauthorized
Insufficient Privileges
Client error
Server error
PATCH /api/v1/customers/{customerId} HTTP/1.1
Host: cams.aquanow.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 567
{
"customerPreTradeRiskGroup": "LOW",
"fullName": "John Doe",
"nationality": "Canada",
"address": {
"streetNumber": "1234",
"streetName": "Main St",
"unit": "Apt 101",
"poBox": "PO Box 1234",
"postalCode": "M5V 1A1",
"city": "Toronto",
"state": "ON",
"country": "Canada",
"addressType": "RESIDENTIAL"
},
"placeOfBirth": "Toronto, Canada",
"dateOfBirth": "1990-01-15",
"employerName": "Aquanow",
"employerAddress": {
"streetNumber": "1234",
"streetName": "Main St",
"unit": "Apt 101",
"poBox": "PO Box 1234",
"postalCode": "M5V 1A1",
"city": "Toronto",
"state": "ON",
"country": "Canada"
},
"employmentStatus": "Employed"
}{
"customerId": "123e4567-e89b-12d3-a456-426614174000",
"customerPreTradeRiskGroup": "LOW",
"fullName": "John Doe",
"nationality": "Canada",
"address": {
"streetNumber": "1234",
"streetName": "Main St",
"unit": "Apt 101",
"poBox": "PO Box 1234",
"postalCode": "M5V 1A1",
"city": "Toronto",
"state": "ON",
"country": "Canada",
"addressType": "RESIDENTIAL"
},
"placeOfBirth": "Toronto, Canada",
"dateOfBirth": "1990-01-15",
"employerName": "Aquanow",
"employerAddress": {
"streetNumber": "1234",
"streetName": "Main St",
"unit": "Apt 101",
"poBox": "PO Box 1234",
"postalCode": "M5V 1A1",
"city": "Toronto",
"state": "ON",
"country": "Canada"
},
"employmentStatus": "Employed"
}Retrieve the customer's bank account details for a specific customer.
ID of the customer
OK
Validation Error
Unauthorized
Forbidden
Not Found
Client error
Server error
GET /api/v1/customers/{customerId}/bankinfo HTTP/1.1
Host: cams.aquanow.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
{
"bankAccountId": "123e4567-e89b-12d3-a456-426614174000",
"bankAccountInformation": {
"beneficiaryType": "INDIVIDUAL",
"currency": "USD",
"beneficiaryAddress": {
"addressLine1": "text",
"addressLine2": "text",
"city": "text",
"region": "text",
"postalCode": "text",
"country": "text"
},
"beneficiaryBankName": "text",
"beneficiaryBankAddress": {
"addressLine1": "text",
"addressLine2": "text",
"city": "text",
"region": "text",
"postalCode": "text",
"country": "text"
},
"beneficiaryBankBic": "text",
"routingCode": "text",
"beneficiaryAccountNumber": "text",
"beneficiaryBankMemo": "text",
"intermediaryBankName": "text",
"intermediaryBankAddress": {
"addressLine1": "text",
"addressLine2": "text",
"city": "text",
"region": "text",
"postalCode": "text",
"country": "text"
},
"intermediaryBankBic": "text",
"intermediaryAccountNumber": "text",
"beneficiaryGivenNames": "text",
"beneficiarySurnames": "text",
"beneficiaryLegalName": "text"
},
"status": "PENDING",
"createdAt": "2026-01-01T00:00:00.000Z",
"statusReason": "text"
}
]OK
Validation Error
Unauthorized
Insufficient Privileges
Not Found
Client error
Server error
GET /api/v1/customers/{customerId}/bankinfo/{bankAccountId} HTTP/1.1
Host: cams.aquanow.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
{
"bankAccountId": "123e4567-e89b-12d3-a456-426614174000",
"bankAccountInformation": {
"beneficiaryType": "INDIVIDUAL",
"currency": "USD",
"beneficiaryAddress": {
"addressLine1": "text",
"addressLine2": "text",
"city": "text",
"region": "text",
"postalCode": "text",
"country": "text"
},
"beneficiaryBankName": "text",
"beneficiaryBankAddress": {
"addressLine1": "text",
"addressLine2": "text",
"city": "text",
"region": "text",
"postalCode": "text",
"country": "text"
},
"beneficiaryBankBic": "text",
"routingCode": "text",
"beneficiaryAccountNumber": "text",
"beneficiaryBankMemo": "text",
"intermediaryBankName": "text",
"intermediaryBankAddress": {
"addressLine1": "text",
"addressLine2": "text",
"city": "text",
"region": "text",
"postalCode": "text",
"country": "text"
},
"intermediaryBankBic": "text",
"intermediaryAccountNumber": "text",
"beneficiaryGivenNames": "text",
"beneficiarySurnames": "text",
"beneficiaryLegalName": "text"
},
"status": "PENDING",
"createdAt": "2026-01-01T00:00:00.000Z",
"statusReason": "text"
}
]Associates a new external bank account with an existing customer. Each customer can have up to 20 external bank accounts.
ID of the customer
ISO 3-letter currency code
USDThe name of the financial institution holding the beneficiary account.
The unique identifier code for the beneficiary institution, such as a BIC (Bank Identifier Code) or SWIFT code. Typically 8-11 characters.
The clearing code or routing number for the beneficiary institution. Used for domestic transfers.
The account number or IBAN of the beneficiary. Supports various formats (e.g., IBAN up to 34 characters).
Payment reference sent with the transfer. If provided, ensures the funds are processed without unnecessary delays and helps the beneficiary identify the payment purpose.
The name of the intermediary financial institution facilitating the payment (e.g., for cross-border transfers). Required only if an intermediary is involved.
BIC/SWIFT code of the intermediary bank. If required for the payment route, ensures proper routing and prevents delays or rejections.
Account number held at the intermediary bank for correspondent banking. If required, ensures funds are properly credited and forwarded without delays.
Required for INDIVIDUAL beneficiary type
Required for INDIVIDUAL beneficiary type
Required for BUSINESS beneficiary type
OK
By default, a 24-hour cooling-off period is applied when a new account is added before it can be used for transactions.
Validation Error
Unauthorized
Insufficient Privileges
Client error
Server error
POST /api/v1/customers/{customerId}/bankinfo HTTP/1.1
Host: cams.aquanow.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 785
{
"beneficiaryType": "INDIVIDUAL",
"currency": "USD",
"beneficiaryAddress": {
"addressLine1": "text",
"addressLine2": "text",
"city": "text",
"region": "text",
"postalCode": "text",
"country": "text"
},
"beneficiaryBankName": "text",
"beneficiaryBankAddress": {
"addressLine1": "text",
"addressLine2": "text",
"city": "text",
"region": "text",
"postalCode": "text",
"country": "text"
},
"beneficiaryBankBic": "text",
"routingCode": "text",
"beneficiaryAccountNumber": "text",
"beneficiaryBankMemo": "text",
"intermediaryBankName": "text",
"intermediaryBankAddress": {
"addressLine1": "text",
"addressLine2": "text",
"city": "text",
"region": "text",
"postalCode": "text",
"country": "text"
},
"intermediaryBankBic": "text",
"intermediaryAccountNumber": "text",
"beneficiaryGivenNames": "text",
"beneficiarySurnames": "text",
"beneficiaryLegalName": "text"
}{
"bankAccountId": "123e4567-e89b-12d3-a456-426614174000",
"customerId": "123e4567-e89b-12d3-a456-426614174000",
"coolingOffEndTime": "2026-01-01T00:00:00.000Z",
"status": "PENDING",
"createdAt": "2026-01-01T00:00:00.000Z",
"bankAccount": {
"beneficiaryType": "INDIVIDUAL",
"currency": "USD",
"beneficiaryAddress": {
"addressLine1": "text",
"addressLine2": "text",
"city": "text",
"region": "text",
"postalCode": "text",
"country": "text"
},
"beneficiaryBankName": "text",
"beneficiaryBankAddress": {
"addressLine1": "text",
"addressLine2": "text",
"city": "text",
"region": "text",
"postalCode": "text",
"country": "text"
},
"beneficiaryBankBic": "text",
"routingCode": "text",
"beneficiaryAccountNumber": "text",
"beneficiaryBankMemo": "text",
"intermediaryBankName": "text",
"intermediaryBankAddress": {
"addressLine1": "text",
"addressLine2": "text",
"city": "text",
"region": "text",
"postalCode": "text",
"country": "text"
},
"intermediaryBankBic": "text",
"intermediaryAccountNumber": "text",
"beneficiaryGivenNames": "text",
"beneficiarySurnames": "text",
"beneficiaryLegalName": "text"
}
}OK
f2ef3fdb-71dd-4612-b9e7-448b17ef9b74REMOVEDValidation Error
Unauthorized
Insufficient Privileges
Not Found
Client error
Server error
DELETE /api/v1/customers/{customerId}/bankinfo/{bankAccountId} HTTP/1.1
Host: cams.aquanow.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"bankAccountId": "f2ef3fdb-71dd-4612-b9e7-448b17ef9b74",
"status": "REMOVED"
}Last updated