Just so you know, further examples and descriptions apply only to SEPA operation imports without transaction monitoring.

This section provides information how to submit operation (transaction) details to our database and is focused to those operations which don’t require to perform transaction monitoring. It includes examples of API requests with mandatory and optional fields, a comprehensive list of all available fields, common responses and error descriptions.

SEPA (Single Euro Payments Area) operations involve transactions between two or more parties, one of the parties is always the customer. The other party(ies) are called counterparty(ies).

HTTP Method: POST

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

ContentType: application/json

Authorization: Bearer Token

API requests examples

Fields

communicationNumber
string
required

Unique number of communication. This field can store up to 256 characters.

Example: ComNr_01_TEST

requester
string
required

Name of the system requesting web service.

Example: Amlyze (name of your company)

sourceOfRiskLevel
string
required

The value IMPORT is to be used for migration purposes only – the customer and it’s questionnaire will be imported without risk assessment.

Value: IMPORT

operationStatus
string from enum
required

Operation result either it was successfully executed, or the operation was rejected.

Enum class values: EXECUTED, REJECTED

Example: EXECUTED

riskLevel
string from enum

The risk level of imported operation.

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

Example: LOW

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: OP_TRANSFER

operationType
string
required

Notifies about which kind of operation type was performed

Value: SEPA

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

operationExtId
string
required

External identifier of operation.

Example: Op_01_SEPA_TEST

financialFlowDirection
string from enum
required

Refers to the movement of money between entities or accounts.

Enum class values: INCOMING, OUTGOING

Example: INCOMING

initializeScreeningProcesses
list[]

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

Example: PEP, ADVERSE_MEDIA

operationDateTime
date
required

The operation date and time show when the operation proceeded.

Example: 2024-08-16T13:00:00Z

currency
string from classifier list
required

International currency code.

Value: EUR

amount
BigDecimal
required

Amount of money sent in an operation.

Example: 1499

euroExchangeRate
BigDecimal

❗Mandatory if currency is not EUR. Not Used when currency is EUR.

Euro exchange rate for other than Eur currency.

Example: 0.93

amountInEuro
BigDecimal

❗Mandatory if currency is not EUR. Not Used when currency is EUR.

Amount of money in euro currency.

Example: 1499

description
string
required

The purpose of payment is saved under description.

Example: Invoice '02'

sourceCountry
string from classifier list

Country from where the operation was initiated.

Example: LT

destinationCountry
string from classifier list

Country of operation’s destination.

Example: LT

ipAddress
string

The IP address of the operation.

Example: xxx.zzz.yyyy.www

ipAddressCountry
string from classifier list

Country of an IP address of the operation.

Example: LT

listOperationParty
list[]
required

List of entities that belong to one operation. Fields of the list are described in the dropdown below.

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/opeation" --> 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 operation request to the API. A bad request is a request that somehow does not follow the API specifications.

Error Description
DestinationCountry is mandatory, check country classifier codes for allowed values.
Amount is mandatory and must be greater than 0.
Despite currency = EUR, AmountInEur differs from Amount.
AmountInEur is mandatory and must be greater than 0.
EuroExchangeRate is mandatory and must be greater than 0.
For non-INTERNAL operation, financialFlowDirection value cannot be ‘NULL’.
Description is mandatory.
Invalid MerchantCountryCode.
RiskManagementCategory is mandatory.
RiskManagementCategory does not exist in Amlyze.
RiskManagementCategory does not support Operation.
Account registered to your institution; Account found in Amlyze, but customer not found in Amlyze.
entityType mismatch in operationParty[” + i + ”]: Amlyze customer has different entity type to operation one.
For INCOMING operation, your customer party role must be CREDITOR.
For OUTGOING operation, your customer party role must be DEBTOR.
operationType ” + operationType.getCode() + ” is not defined in Amlyze. Check Operation type classifier for available values.
Problem with operation party (index: ” + i + ”).
Invalid FinancialFlowDirection: Your institution DEBTOR found for INCOMING operation.
Invalid FinancialFlowDirection: Your institution CREDITOR found for OUTGOING operation.
OperationParties must contain CREDITOR.
OperationParties must contain DEBTOR.
Invalid operation party count. Range: min 1, max 4.
Invalid count of operation parties for ” + operationType.getCode() + ” operationType.
For ‘PIS’ operation, only creditor can be provided.
No operation party account related to your institution BIC, or Customer.
Invalid count of your institution operation parties for ” + operationType.getCode() + ” operationType.
Tenant header ’” + securityOwnerService.getHeaderTenantCode() + ”’ is mandatory.
Business unit is mandatory.
Tenant ’” + tenantCode + ”’ business unit ’”+ businessUnitCode +”’ does not exist.
CommunicationNumber is mandatory.
Requester is mandatory.
SourceOfRiskLevel is mandatory, allowed values: IMPORT / EVALUATE.
OperationExtId is mandatory.
OperationType is mandatory.
Problem with OperationType (INVALID): INVALID is not defined in Amlyze. Check Operation type classifier for available values.
Currency is mandatory, check Currency classifier codes for allowed values.
SourceCountry is mandatory, check country classifier codes for allowed values.
Problem with OperationType (SEPA): Problem with OperationParties. No operation party account related to your institution BIC or Customer.
Problem with OperationType (SEPA): Invalid count of your institution operation parties for SEPA operationType.