This section provides information on how to generate a Simplified Customer for organizations.

Simplified Customer submission contains less Mandatory fields than a regular Customer, therefore workflows for these two separate servers differ.

-> Simplified customers contain a minimum ammount of identifying information and KYC data;

-> If needed - Simplified customers goes through Screening workflow;

-> Simplified Customer can be updated to become a regular Customer, but Regular Customer cannot be downgraded to a Simplified Customer;

Below are examples of API requests with mandatory and optional fields, a comprehensive list of all available fields, common responses and error descriptions.

HTTP Method: POST

Path: {{baseUrl}}/amlyze-ws-rest/simplifiedcustomer

ContentType: application/json

Authorization: Bearer Token

API requests examples

Fields

communicationNumber
string
required

Unique number of communication. It is used for risk assessment callback. This field can store up to 256 characters.

Example: Test_ComNr_002mHzZZ

requester
string
required

Name of the system requesting web service.

Example: Amlyze

businessUnit
string from classifier list

❗Mandatory field for clients utilizing a multi-organizational solution. Omit this parameter unless instructed about it.

It serves to specify the unique identifier for the business unit. Business units are logical groupings of users and data. Each business unit can have its own set of users, permissions, and data access rules.

Example: BUSINESS_UNIT_NAME

riskManagementCategory
string from classifier list
required

Code of risk management category of the object. Value must be from a classifier list personalized to your company.

Example: IND_AMLYZE

riskLevel
string from enum

Predefined risk level of imported customer.

Enum class values: NONE, LOW, MEDIUM, HIGH, EXTREME

Example: LOW

customerStatus
string from enum

Customer’s predefined status represents the current standing or state of a customer’s relationship with a business or organization

Enum class values: PENDING, ACTIVE, REJECTED, SUSPENDED, CLOSED

PENDING - Customer application is received but not yet prepared for upcoming workflow

ACTIVE - Customer is onboarded and ready for workflow

REJECTED- the customer for some reasons was rejected before opening an account for him

SUSPENDED - Customer’s activities for some reasons are restricted

CLOSED - Customer’s profile is disabled

Example: ACTIVE

entityType
string
required

Notifies about customer type.

Value: ORGANIZATION

customerExtId
string
required

Unique external customer identifier. This identifier corresponds to the client’s identifier in the financial institution.

Example: cust_1232

applicationDate
date

Date when customer first applied.

Example: 2020-01-03

title
string
required

Title of organization entity.

Example: UAB "BrotherHood"

initializeScreeningProcesses
list[]

Defines which lists to check during screening process. Strings of the list are noted in the dropdown below.

Example: PEP, ADVERSE_MEDIA

registrationCountry
string from classifier list

Birth country of the related entity.

Example: LT

legalForm
string from classifier list

Legal form of the organization.

Example: LTD

approvalDate
date

Date of application approval.

Example: 2023-10-01

establishmentDate
date

Date of birth of individual entity

Example: 2000-01-01

nationalCode
string

National code or national identification number of individual. If a country does not issue national code, any other unique identifier can be used:

  • Passport number
  • Social security number of person
  • A number of taxpayer or registration certificate of the company, etc
  • A number of taxpayer or registration certificate of the company

Example: 50001010022

activityDescription
string

Description of entity activity.

Example: Financial activity

activityInRestrictedRegionDescription
string

Description of business entities’ activities in a restricted region.

Value: Logistics

isSanctioned
boolean

Identification for whether a person is sanctioned.

Example: false

isInAdverseMedia
boolean

An indication of the existence of information on adverse media about the entity.

Example: true

isInInternalList
boolean

An indication of the existence of information on internal list about the entity.

Example: true

isPEP
boolean

Identification for whether a person is politically exposed.

Example: true

giin
string

Global intermediary identification number.

Example: GIN548745122

lei
string

LEI stands for Legal Entity Identifier, which is a unique code used to identify legal entities that participate in financial transactions.

Example: LEI54511548

isActualAddressDeclared
boolean

Indicator for actual address declaration.

Example: true

isCorrespondenceAddressDeclared
boolean

Indicator for actual address declaration.

Example: false

incomeSourceDescription
string

Description of income source of the entity.

Example: Job salary

initialDepositSource
string

Source of initial deposit.

Example: Dividends

initialDepositBank
string

Bank of the initial deposit

Example: TBC

initialDepositAccount
string

Account of initial deposit

Example: LT0089500500000070

initialDepositAmount
double

Amount of initial deposit.

Example: 8500.48

initialDepositCurrency
string from classifier list

This currency field notifies about initial deposit currency.

Example: EUR

doesCashDominate
boolean

Indicator for cash being the main income source.

Example: true

isAudited
boolean

Indicator for the business entity being audited.

Example: true

numberOfAudits
integer

The number of times a business entity has been audited

Example: 3

periodsOfAuditsInYears
integer

The number of years that are in question for being audited.

Example: 1

organizationalStructureDescription
string

Description of organization structure.

Example: Hierarchical

hasMultiLayerStructure
boolean

Check for multi-layer organizational structure.

Example: true

isFinancialInstitution
boolean

Whether entity is financial institution.

Example: true

isDirectlyManaged
boolean

Whether entity is managed directly.

Example: false

noMajorShareHolders
boolean

Whether entity has no major shareholders involved.

Example: false

numberOfEmployees
integer

The number of employees in the company.

Example: 25

companyAssetValue
integer

Value of companies assets.

Example: 100000

isFined
boolean

Whether entity has fines.

Example: false

periodsOfFiningInYears
integer

The number of years that are in question for being fined.

Example: 3

isListed
boolean

Indicator for the business entity is listed in stock exchange companies.

Example: false

isRegulated
boolean

Indicator for the business entity being regulated by third-party authorities.

Example: false

isLicenseRequired
boolean

Whether entity activity requires license.

Example: false

licenseDescription
string

Business entities license description.

Example: Licence No.4012

listPurpose
string from enum

Indicator whether entity is white/black listed.

Enum class values: WHITE, BLACK

Example: WHITE

closingDate
date

❗Mandatory only when customerStatus = CLOSED. Not used when customerStatus is PENDING, ACTIVE, REJECTED or SUSPENDED.

Example: 1995-05-24

isLitigated
boolean

Indicator if the customer is being litigated.

Example: false

thirdPartyServicesUsed
string

Whether client is using third party services.

Example: true

thirdPartyServicesUsedDescription
string

Description of third party services.

Example: Hosting

regionOfActivityDescription
string

Description of the region for activities.

Example: Customer service

listAddress
list[]
listBusinessEntityDocument
list[]
listContact
list[]

List of possible responses

This part lists common responses after the submission of the request.

200 OK
  "resultType": "REQUEST_ACCEPTED"


400 Bad Request
    "resultType": "REQUEST_REJECTED",
    "errorCode": "O001",
    "errorDescription": "CommunicationNumber already used in amlyze"


404 Not Found
    "timestamp": "2024-05-26T16:49:50.237+00:00",
    "status": 404,
    "error": "Not Found",
    "path": "/amlyze-ws-rest/customerr" --> mistake inside the endpoint


500 Internal Server Error
  "resultType": "REQUEST_REJECTED"
  "status": 500,
  "error": "Internal Server Error"

List of possible errors

This section lists the possible errors that can occur when making a bad customer request to the API. A bad request is a request that somehow does not follow the API specifications.

Error Description
ActivityType is mandatory
ActivityType must be defined in Amlyze
AddressType is mandatory.
AddressType is not defined in Amlyze.
Country is mandatory and can’t be empty
Country is mandatory and must exist in Amlyze
AdditionalValue.Code is mandatory
AdditionalValue.Description is mandatory
AdditionalValue.Value is mandatory
AdditionalValue.Datatype is mandatory
Duplicate code in additionalValues
Bad datatype valueCode:
Bad value for valueCode:
Bad value for (format: ‘yyyy-MM-dd’) valueCode:
Bad value for (format: ‘yyyy-MM-dd HH:mm:ss.SSSZ’) valueCode:
Bad value for (values: true false’) valueCode:
EntityType is mandatory. values: INDIVIDUAL, ORGANIZATION
DocumentNumber is mandatory.
DocumentIssueDate is mandatory.
DocumentIssueCountry is mandatory and must exist in Amlyze
DocumentIssueAuthority is mandatory
CustomerExtId is mandatory.
DELETE not yet implemented, contact Amlyze support
Customer already exists
Cannot update not existing customer, use Action = CREATE
Requester is mandatory.
RiskManagementCategory is mandatory.
RiskManagementCategory does not exist in Amlyze
Given RiskManagementCategory not supported for Customer
SourceOfRiskLevel is mandatory. Values: IMPORT, EVALUATE
Cannot demote existing customer to Lead riskManagementCategory
EntityType is mandatory.
When importing, CustomerStatus is mandatory.
When source of risk level IMPORT. ‘Lead’ risk management category is forbidden
When source of risk level IMPORT. RiskLevel is mandatory, values: NONE, LOW, MEDIUM, HIGH, EXTREME
When source of risk level EVALUATE. RiskLevel can’t be provided
ApplicationDate is mandatory
ClosingDate is mandatory for CLOSED CustomerStatus
ClosingDate can not exist for not CLOSED CustomerStatus
Field not allowed for INDIVIDUAL. Field:
For INDIVIDUAL type customer
Field not allowed for ORGANIZATION. Field:
For ORGANIZATION type customer
Problem with field for INDIVIDUAL type customer. CitizenshipCountry not found in amlyze
InitialDepositCurrency not found in amlyze
BirthCountry not defined in Amlyze
CitizenshipCountry not defined in Amlyze
SecondCitizenshipCountry not defined in Amlyze
PermanentResidenceCountry not defined in Amlyze
Problem with field for INDIVIDUAL type customer.
FieldOfActivity.Student.Country is invalid
PensionCountry is invalid
registrationCountry is invalid
registrationCountry must exist in Amlyze
LegalForm must exist in Amlyze
Problem with field for ORGANIZATION type customer.
TurnoverType is mandatory
TurnoverType must exist in amlyze
At least one value must be specified (FROM, TO)
Problem with DeclaredTurnover (index: ).
PaymentPurposeType does not exist in Amlyze
TurnoverDirection is invalid
Problem with PaymentPurpose (index: ).
ServiceType not found in Amlyze
Problem with OrderedService (index: ).
Problem with Customer Contact index = .
Problem with Customer BusinessEntityDocument index = .
Problem with relatedEntity (index: ).
Problem with relatedEntities.
Problem with Address (index: ).
screening process is undefined:
PaymentCountry can’t be empty
PaymentCountry not found in Amlyze
TurnoverDirection is invalid
Problem with PaymentCountry (index: ).
IntroductionSource not found in amlyze
Problem with IntroductionSource (index: ).
Problem with IncomeSource (index: ).
AppealReasonType is mandatory and can’t be empty
AppealReasonType is mandatory and must be defined in Amlyze
Problem with ListAppealReason (index: ).
Problem with activity (index: ).
Problem with RegionOfActivity (index: ).
CountryOfTaxPayment can’t be empty
CountryOfTaxPayment not found in Amlyze
CountryOfTaxPayment (index: ).
Problem with CountryOfActivity (index: ).
Title is mandatory
RegistrationCountry is mandatory
LegalForm is mandatory
FirstName is mandatory
LastName is mandatory
Bad value for TIMESTAMP (format: ‘yyyy-MM-dd HH:mm:ss.SSSZ’) valueCode: lastonlinesupport
Field not allowed for INDIVIDUAL. Field: CompanyAssetValue
Problem with field for INDIVIDUAL type customer. CitizenshipCountry not found in amlyze
When source of risk level IMPORT. ‘Lead’ risk management category is forbidden
Field not allowed for ORGANIZATION. Field: LastName
Screening process is undefined: NOT_EXISTS
Problem with Address (index: 0 ). Country is mandatory and must exist in Amlyze
Field not allowed for ORGANIZATION. Field: SecondCitizenshipCountry
Problem with field for ORGANIZATION type customer. Problem with relatedEntity (index: 0 ). Relation type is mandatory
Problem with PaymentCountry (index: 0 ). PaymentCountry not found in Amlyze
Field not allowed for INDIVIDUAL. Field: NumberOfEmployees
Bad value for BOOLEAN (values: true false’) valueCode: isvip
ApplicationDate is mandatory
CustomerExtId is mandatory
Problem with Customer BusinessEntityDocument index = 0 . DocumentIssueCountry is mandatory and must exist in Amlyze
CountryOfTaxPayment (index: 0 ). CountryOfTaxPayment not found in Amlyze
RiskManagementCategory does not exist in Amlyze
Field not allowed for INDIVIDUAL. Field: LicenseDescription
Field not allowed for INDIVIDUAL. Field: NumberOfAudits
Field not allowed for ORGANIZATION. Field: FirstName
CountryOfTaxPayment (index: 0 ). CountryOfTaxPayment not found in Amlyze
PermanentResidenceCountry not defined in Amlyze
PensionCountry is invalid
Field not allowed for INDIVIDUAL. Field: RegionOfActivityDescription
BirthCountry not defined in Amlyze
ClosingDate can not exist for not CLOSED CustomerStatus
ClosingDate is mandatory for CLOSED CustomerStatus
Problem with field for ORGANIZATION type customer. Problem with relatedEntity (index: 0 ). Problem with BusinessEntityDocuments (index: 0 ). EntityType is mandatory. values : INDIVIDUAL, ORGANIZATION
Problem with field for ORGANIZATION type customer. Problem with relatedEntity (index: 0 ). Problem with Contact (index: 0 ). ContactDetails is mandatory
Field not allowed for INDIVIDUAL. Field: Title
Bad value for INTEGER valueCode: number_users
For ORGANIZATION type customer Title is mandatory
EntityType is mandatory
Field not allowed for ORGANIZATION. Field: PermanentResidenceCountry
Field not allowed for INDIVIDUAL. Field: LegalForm
Field not allowed for INDIVIDUAL. Field: ThirdPartyServicesUsedDescription
Field not allowed for ORGANIZATION. Field: BirthCountry
Field not allowed for INDIVIDUAL. Field: GIIN
Problem with field for ORGANIZATION type customer. Problem with relatedEntity (index: 0 ). Relation type is not defined in Amlyze
Cannot update not existing customer, use Action = CREATE
Problem with field for ORGANIZATION type customer. Problem with relatedEntity (index: 0 ). Country not defined in Amlyze
Problem with field for ORGANIZATION type customer. Problem with relatedEntity (index: 0 ). EntityType is mandatory
RegistrationCountry must exist in Amlyze
Problem with field for ORGANIZATION type customer. Problem with relatedEntity (index: 0 ). Problem with Contact (index: 0 ). ContactType is mandatory. values: MOBILEPHONE, FIXEDPHONE, EMAIL, WEBSITE
Field not allowed for INDIVIDUAL. Field: EstablishmentDate
Field not allowed for INDIVIDUAL. Field: PeriodsOfAuditsInYears
Problem with field for ORGANIZATION type customer. Problem with relatedEntity (index: 1 ). bad value for BOOLEAN (values: true false’) valueCode: is_related_to_Lithuania
Field not allowed for INDIVIDUAL. Field: OrganizationalStructureDescription
RiskManagementCategory is mandatory
Problem with field for ORGANIZATION type customer.