# Bankaccount Data API This API provides services to validate and to confirm bank account data, and to manage payment fraud cases Version: 2 ## Servers Production ``` https://api.cdq.com/bankaccount-data/rest ``` ## Security ### apiKey Type: apiKey In: header Name: X-API-KEY ## Download OpenAPI description [Bankaccount Data API](https://developer.cdq.com/_spec/apis/bankaccount-data-api/@bankaccount-data-api-v2/api-v2.yaml) ## Data Transformation Definitions Gather endpoints that provide functionalities for testing data transformation definitions. These functionalities include testing data transformation definitions. ### Create Data Transformation Definition - [POST /datatransformationdefinitions](https://developer.cdq.com/apis/bankaccount-data-api/api-v2/data-transformation-definitions/paths/~1datatransformationdefinitions/post.md): The data transformation definition is used to transform raw data into a structured format. ### Read Data Transformation Definition - [GET /datatransformationdefinitions/{id}](https://developer.cdq.com/apis/bankaccount-data-api/api-v2/data-transformation-definitions/paths/~1datatransformationdefinitions~1%7Bid%7D/get.md): Read the definition by ID to get the details of the data transformation. ### Update Data Transformation Definition - [PUT /datatransformationdefinitions/{id}](https://developer.cdq.com/apis/bankaccount-data-api/api-v2/data-transformation-definitions/paths/~1datatransformationdefinitions~1%7Bid%7D/put.md): Update Data Transformation Definition by ID. ### Delete Data Transformation Definition - [DELETE /datatransformationdefinitions/{id}](https://developer.cdq.com/apis/bankaccount-data-api/api-v2/data-transformation-definitions/paths/~1datatransformationdefinitions~1%7Bid%7D/delete.md): Delete Data Transformation Definition by ID. ## Bank Account Storages Management Gather endpoints that provide functionalities for managing bank account storages. These functionalities include creating a new storage for bank account data, reading the details of a specific bank account storage identified by its storage ID, modifying the details of an existing bank account storage, deleting an existing bank account storage, and removing all bank account data from a specific storage. ### Check Bank Account Upsert Status - [GET /v2/bankaccounts/tasks/{taskId}](https://developer.cdq.com/apis/bankaccount-data-api/api-v2/bank-account-storages-management/paths/~1v2~1bankaccounts~1tasks~1%7Btaskid%7D/get.md): Check the status of a task that is inserting or updating bank accounts in the system. ### Read Bank Account Storage - [GET /bankaccountstorages/{storageId}](https://developer.cdq.com/apis/bankaccount-data-api/api-v2/bank-account-storages-management/paths/~1bankaccountstorages~1%7Bstorageid%7D/get.md): Display the details of a specific bank account storage identified by its storage ID. ### Update Bank Account Storage - [PUT /bankaccountstorages/{storageId}](https://developer.cdq.com/apis/bankaccount-data-api/api-v2/bank-account-storages-management/paths/~1bankaccountstorages~1%7Bstorageid%7D/put.md): Modify the details of an existing bank account storage identified by its storage ID. ### List Bank Accounts - [GET /bankaccountstorages/{storageId}/bankaccounts](https://developer.cdq.com/apis/bankaccount-data-api/api-v2/bank-account-storages-management/paths/~1bankaccountstorages~1%7Bstorageid%7D~1bankaccounts/get.md): List bank accounts from a bank account storage in batches. ### Upsert Bank Accounts - [PUT /bankaccountstorages/{storageId}/bankaccounts](https://developer.cdq.com/apis/bankaccount-data-api/api-v2/bank-account-storages-management/paths/~1bankaccountstorages~1%7Bstorageid%7D~1bankaccounts/put.md): Upsert bank accounts into bank account storage in batches. Maximum of 1000 bank accounts are allowed per batch. ### Upsert Raw Bank Accounts - [PUT /bankaccountstorages/{storageId}/bankaccounts/rawdata](https://developer.cdq.com/apis/bankaccount-data-api/api-v2/bank-account-storages-management/paths/~1bankaccountstorages~1%7Bstorageid%7D~1bankaccounts~1rawdata/put.md): Upsert bank accounts into bank account storage in batches. Maximum of 1000 bank accounts are allowed per batch. ## Bank Account Verification Gather endpoints that provide functionalities for verifying bank account data. These functionalities include confirming the reliability of given bank account data by CDL Trust Scores provided by other companies for the given bank account, curating the given bank account, and uploading bank accounts for batch confirmation. ### Confirm Reliability - [POST /v2/bankaccounts/confirm](https://developer.cdq.com/apis/bankaccount-data-api/api-v2/bank-account-verification/paths/~1v2~1bankaccounts~1confirm/post.md): Confirm the reliability of the given bank account against the CDQ Whitelist (trust score based on transactions) and the Blacklist (fraud cases). The BankAccount that is sent in the request needs to uniquely identify a bank account. Minimal sets of attributes that are considered valid to identify a bank account are: 1. Only the IBAN (= internationalBankAccountIdentifier): 2. The bank account number (= nationalBankAccountIdentifier) and the BIC (= internationalBankIdentifier): 3. The bank account number (= nationalBankAccountIdentifier), bank code/number (= nationalBankIdentifier) and bank country code (= bankCountryCode): If attributes are missing to uniquely identify a bank account an ApiError will be returned. The response will always contain the BankAccount provided in the request and depending on the result found in the Whitelist or the Blacklist or neither, the following: 1. A whitelist entry and no fraud case was found: 2. A fraud case entry was found: 3. The bank account is unknown (no trust score and no fraud case exists): ### Curate Bank Account - [POST /bankaccounts/curate](https://developer.cdq.com/apis/bankaccount-data-api/api-v2/bank-account-verification/paths/~1bankaccounts~1curate/post.md): Curates the given bank account. The BankAccount that is sent in the request has to be uniquely identifiable. Minimal sets of attributes that identify a BankAccount are: 1. Only the IBAN (= internationalBankAccountIdentifier): 2. The bank account number (= nationalBankAccountIdentifier), bank code/number (= bank.nationalBankIdentifier) and bank country code (= bank.address.country.shortName): 3. The bank account number (= nationalBankAccountIdentifier), bank code/number (= bank.nationalBankIdentifier) and the BIC (= internationalBankIdentifier): If IBAN is not present in the request it will be generated only if there is sufficient data: - countryCode - internationalBankIdentifier - nationalBankAccountIdentifier Or - internationalBankIdentifier - nationalBankIdentifier - nationalBankAccountIdentifier For the following countries the generation of the internationalBankAccountIdentifier (IBAN) is NOT supported in the current version: AL, BA, BE, BG, BI, BR, DJ, EE, EG, ES, FI, FO, FR, HU, IS, IT, LY, MC, ME, MK, MR, NO, PL, PT, RS, SC, SD, SI, SM, TL, TR The response will always contain the original BankAccount provided in the request and a curated version of it. For example: If the given request does not provide one of the combinations of attributes described above, an ApiError will be returned: Message contains concatenated descriptions of all errors that occurred in the request. ### Upload Bank Accounts - [POST /bankaccounts](https://developer.cdq.com/apis/bankaccount-data-api/api-v2/bank-account-verification/paths/~1bankaccounts/post.md): Upload a CSV file with bank account data to be analyzed by several jobs. ### Start Batch Confirmation - [POST /bankaccounts/jobs/confirmation](https://developer.cdq.com/apis/bankaccount-data-api/api-v2/bank-account-verification/paths/~1bankaccounts~1jobs~1confirmation/post.md): -> Start a job to confirm all bank accounts provided by a previously uploaded CSV file, identified by the storage ID in the request object or from bank accounts of business partners in given business partner storage. ### Poll Batch Confirmation Status - [GET /bankaccounts/jobs](https://developer.cdq.com/apis/bankaccount-data-api/api-v2/bank-account-verification/paths/~1bankaccounts~1jobs/get.md): Get the status (including progress, if running) of a given job. ### List Bank Account Statistics - [GET /bankaccounts/statistics](https://developer.cdq.com/apis/bankaccount-data-api/api-v2/bank-account-verification/paths/~1bankaccounts~1statistics/get.md): -> Calculates statistics from a bank account database and provides information about whitelist records, whitelist bank accounts, country distribution, etc. ### Confirm Bank Account (deprecated) - [GET /bankaccounts/confirm](https://developer.cdq.com/apis/bankaccount-data-api/api-v2/bank-account-verification/paths/~1bankaccounts~1confirm/get.md): -> Confirm reliability of given bank account data by CDL Trust Scores provided by other companies for the given bank account. ## Bank Accounts Gather endpoints that provide functionalities for managing bank accounts. These functionalities include reading bank account data, upserting bank account data, deleting bank account data, creating a new data source, reading all data sources, reading a data source by ID, and deleting a data source by ID. ### Import Bank Accounts - [POST /bankaccountstorages/{storageId}/import](https://developer.cdq.com/apis/bankaccount-data-api/api-v2/bank-accounts/paths/~1bankaccountstorages~1%7Bstorageid%7D~1import/post.md): -> Start a job to import bank account records from a previously uploaded CSV file, identified by the storage ID in the request object. ### Import Job Progress - [GET /bankaccountstorages/{storageId}/import/{id}](https://developer.cdq.com/apis/bankaccount-data-api/api-v2/bank-accounts/paths/~1bankaccountstorages~1%7Bstorageid%7D~1import~1%7Bid%7D/get.md): Get bank account import job progress. It contains information about request that started the job. ## Bank Data Lookup Gather endpoints that provide functionalities for looking up bank information. These functionalities include looking up bank information based on the given bank data lookup request. ### Lookup Bank Information - [POST /banks/lookup](https://developer.cdq.com/apis/bankaccount-data-api/api-v2/bank-data-lookup/paths/~1banks~1lookup/post.md): Lookup bank information based on the given bank data lookup request. ## Fraud Case Management Gather endpoints that provide functionalities for managing fraud cases. These functionalities include creating a new fraud case, reading the details of a specific fraud case identified by its case ID, modifying the details of an existing fraud case, deleting an existing fraud case, and removing all fraud case data from a specific storage. ### List Fraud Cases - [GET /fraudcases](https://developer.cdq.com/apis/bankaccount-data-api/api-v2/fraud-case-management/paths/~1fraudcases/get.md): Display a page of Fraud Cases. ### Create Fraud Case - [POST /fraudcases](https://developer.cdq.com/apis/bankaccount-data-api/api-v2/fraud-case-management/paths/~1fraudcases/post.md): Create a new Fraud Case with the given data. ### Update Fraud Case - [PUT /fraudcases/{fraudCaseId}](https://developer.cdq.com/apis/bankaccount-data-api/api-v2/fraud-case-management/paths/~1fraudcases~1%7Bfraudcaseid%7D/put.md): Update a Fraud Case with the given data. ### Delete Fraud Case - [DELETE /fraudcases/{fraudCaseId}](https://developer.cdq.com/apis/bankaccount-data-api/api-v2/fraud-case-management/paths/~1fraudcases~1%7Bfraudcaseid%7D/delete.md): Delete a Fraud Case with the given ID. ### Fraud Alert - [POST /fraudcases/{fraudCaseId}/triggeralert](https://developer.cdq.com/apis/bankaccount-data-api/api-v2/fraud-case-management/paths/~1fraudcases~1%7Bfraudcaseid%7D~1triggeralert/post.md): Broadcast a fraud alert for the given Fraud Case. ### Fraud Cases Statistics - [GET /fraudcases/statistics](https://developer.cdq.com/apis/bankaccount-data-api/api-v2/fraud-case-management/paths/~1fraudcases~1statistics/get.md): Get statistics about the Fraud Cases. ## System Bank Data Sources Gather endpoints that provide functionalities for managing system bank data sources. These functionalities include creating a new data source, reading all data sources, reading a data source by ID, and deleting a data source by ID. ### Create Data Source - [POST /system/banks/datasources](https://developer.cdq.com/apis/bankaccount-data-api/api-v2/system-bank-data-sources/paths/~1system~1banks~1datasources/post.md): Create a new data source for the system bank data. ### List Data Sources - [GET /system/banks/datasources](https://developer.cdq.com/apis/bankaccount-data-api/api-v2/system-bank-data-sources/paths/~1system~1banks~1datasources/get.md): List all data sources for the system bank data. ### Read Data Source - [GET /system/banks/datasources/{id}](https://developer.cdq.com/apis/bankaccount-data-api/api-v2/system-bank-data-sources/paths/~1system~1banks~1datasources~1%7Bid%7D/get.md): Read a data source for bank data by ID. ### Delete Data Source - [DELETE /system/banks/datasources/{id}](https://developer.cdq.com/apis/bankaccount-data-api/api-v2/system-bank-data-sources/paths/~1system~1banks~1datasources~1%7Bid%7D/delete.md): Delete a data source for bank data by ID. ## System Banks Gather endpoints that provide functionalities for managing system banks. These functionalities include reading system banks, upserting system bank data, deleting system bank data, creating a new data source, reading all data sources, reading a data source by ID, and deleting a data source by ID. ### List System Banks - [GET /system/banks](https://developer.cdq.com/apis/bankaccount-data-api/api-v2/system-banks/paths/~1system~1banks/get.md): List system banks with the given parameters. ### Upsert Bank Data - [POST /system/banks/upsert](https://developer.cdq.com/apis/bankaccount-data-api/api-v2/system-banks/paths/~1system~1banks~1upsert/post.md): Upsert system bank data with the given parameters. ### Delete Bank Data - [POST /system/banks/delete](https://developer.cdq.com/apis/bankaccount-data-api/api-v2/system-banks/paths/~1system~1banks~1delete/post.md): Delete system bank data with the given parameters. ## Files Gather endpoints that provide functionalities for managing files. These functionalities include uploading a file to S3. ### Request File Upload - [POST /files/upload](https://developer.cdq.com/apis/bankaccount-data-api/api-v2/files/paths/~1files~1upload/post.md): Create a file in S3 using returned upload link. ## Bank Data Sources ### Create Data Source (deprecated) - [POST /banks/datasources](https://developer.cdq.com/apis/bankaccount-data-api/api-v2/bank-data-sources/paths/~1banks~1datasources/post.md): Create a new data source for the bank data. ### List Data Sources (deprecated) - [GET /banks/datasources](https://developer.cdq.com/apis/bankaccount-data-api/api-v2/bank-data-sources/paths/~1banks~1datasources/get.md): List all data sources for the bank data. ### Read Data Source (deprecated) - [GET /banks/datasources/{id}](https://developer.cdq.com/apis/bankaccount-data-api/api-v2/bank-data-sources/paths/~1banks~1datasources~1%7Bid%7D/get.md): Read a Data Source by ID. ### Delete Data Source (deprecated) - [DELETE /banks/datasources/{id}](https://developer.cdq.com/apis/bankaccount-data-api/api-v2/bank-data-sources/paths/~1banks~1datasources~1%7Bid%7D/delete.md): Delete a Data Source by id. ## Bank Account Storage Data Monitors ### List Bank Account Storage Data Monitors - [GET /bankaccountstorages/{storageId}/datamonitors](https://developer.cdq.com/apis/bankaccount-data-api/api-v2/bank-account-storage-data-monitors/paths/~1bankaccountstorages~1%7Bstorageid%7D~1datamonitors/get.md): List all Data Monitors of the give Bank Account Storage. ### Create Data Monitor - [POST /bankaccountstorages/{storageId}/datamonitors](https://developer.cdq.com/apis/bankaccount-data-api/api-v2/bank-account-storage-data-monitors/paths/~1bankaccountstorages~1%7Bstorageid%7D~1datamonitors/post.md): Create a new Bank Account Storage Data monitor. Data monitor is a concept for asynchronous processing of data. Data monitors should be unique by a pair: + . ### Update Data Monitor - [PUT /bankaccountstorages/{storageId}/datamonitors/{dataMonitorId}](https://developer.cdq.com/apis/bankaccount-data-api/api-v2/bank-account-storage-data-monitors/paths/~1bankaccountstorages~1%7Bstorageid%7D~1datamonitors~1%7Bdatamonitorid%7D/put.md): Possibility to update fields of the Bank Account Storage Data Monitor. ### Read Data Monitor - [GET /bankaccountstorages/{storageId}/datamonitors/{dataMonitorId}](https://developer.cdq.com/apis/bankaccount-data-api/api-v2/bank-account-storage-data-monitors/paths/~1bankaccountstorages~1%7Bstorageid%7D~1datamonitors~1%7Bdatamonitorid%7D/get.md): Get a Data Monitor for specific Bank Account Storage based on provided ID. ### Delete Data Monitor - [DELETE /bankaccountstorages/{storageId}/datamonitors/{dataMonitorId}](https://developer.cdq.com/apis/bankaccount-data-api/api-v2/bank-account-storage-data-monitors/paths/~1bankaccountstorages~1%7Bstorageid%7D~1datamonitors~1%7Bdatamonitorid%7D/delete.md): Delete a data monitor for specific Bank Account Storage.