Skip to content

Bankaccount Data API (2)

This API provides services to validate and to confirm bank account data, and to manage payment fraud cases

Languages
Servers
Mock server

https://idp.cdq.com/_mock/apis/bankaccount-data-api/api-v2/

Production SOAP

https://api.corporate-data-league.ch/bankaccount-data/soap/v2/

Production

https://api.corporate-data-league.ch/bankaccount-data/

Whitelists

The Whitelists API provides endpoints to manage the whitelist entries.

Operations

Upsert Whitelist Records

Request

Upserts a batch of records into the whitelist.

Headers
X-Credential-Usernamestring

Username that is passed as header parameter with the name X-Credential-Username. The header can take form of:

  • username (e.g. "johndoe")
  • user id (e.g. "87b1bdb1-ba87-4522-b363-c5a0e6e917b3")
Example: 87b1bdb1-ba87-4522-b363-c5a0e6e917b3
Bodyapplication/jsonrequired
whitelistRecordsArray of objects(WhitelistRecord)[ 1 .. 1000 ] itemsrequired

List of whitelist records to be upserted.

whitelistRecords[].​organizationstring(OrganizationName)required

Name of the organization.

Example: "Adidas AG"
whitelistRecords[].​bankAccountobject(BankAccount)required

A bank account record holds information that universally describes a registered bank account.

whitelistRecords[].​bankAccount.​internationalBankAccountIdentifierstring(InternationalBankAccountIdentifier)

The IBAN of a bank account.

Example: "CH8800781619278412000"
whitelistRecords[].​bankAccount.​internationalBankIdentifierstring(InternationalBankIdentifier)

(BIC/SWIFT) Bank identifier which is globally unique.

Example: "KBSGCH22XXX"
whitelistRecords[].​bankAccount.​bankCountryCodestring(BankAccountCountryCode)

ISO code to identify the country a bank account is registered in.

Example: "DE"
whitelistRecords[].​bankAccount.​nationalBankIdentifierstring(NationalBankIdentifier)

Bank identifier which is unique in a national context, i.e. for a country.

Example: "00781"
whitelistRecords[].​bankAccount.​nationalBankAccountIdentifierstring(NationalBankAccountIdentifier)

Identifier of a bank account in a national context, i.e. for a country.

Example: "619278412000"
whitelistRecords[].​numberOfPaymentsintegerrequired

Number of payments.

Example: "10"
whitelistRecords[].​lastPaymentAtstring(date)required

Last payment date.

Example: "2024-01-01T00:00:00Z"
whitelistRecords[].​bankAccountOwnerobject(BankAccountOwner)

Owner of a bank account.

curl -i -X POST \
  https://idp.cdq.com/_mock/apis/bankaccount-data-api/api-v2/whitelistrecords \
  -H 'Content-Type: application/json' \
  -d '{
    "whitelistRecords": [
      {
        "organization": "Adidas AG",
        "bankAccount": {
          "internationalBankAccountIdentifier": "CH8800781619278412000",
          "internationalBankIdentifier": "KBSGCH22XXX",
          "bankCountryCode": "DE",
          "nationalBankIdentifier": "00781",
          "nationalBankAccountIdentifier": "619278412000"
        },
        "numberOfPayments": "10",
        "lastPaymentAt": "2024-01-01T00:00:00Z",
        "bankAccountOwner": {
          "name": {
            "value": "johndoe"
          },
          "lastPaymentAt": {
            "value": "2024-01-01T00:00:00Z"
          }
        }
      }
    ]
  }'

Responses

OK

Bodyapplication/json
numberOfInsertsinteger

Number of inserts.

Example: "10"
numberOfUpdatesinteger

Number of updates.

Example: "10"
numberOfFailedinteger

Number of failed operations.

Example: "1"
failuresArray of objects(UpsertFailureLog)

List of failures.

Response
application/json
{ "numberOfInserts": "10", "numberOfUpdates": "10", "numberOfFailed": "1", "failures": [ {} ] }

Import Whitelist

Request

-> Start a job to import new whitelist records from a previously uploaded CSV file, identified by the storage ID in the request object.

Headers
X-Credential-Usernamestringrequired

Username that is passed as header parameter with the name X-Credential-Username. The header can take form of:

  • username (e.g. "johndoe")
  • user id (e.g. "87b1bdb1-ba87-4522-b363-c5a0e6e917b3")
Example: 87b1bdb1-ba87-4522-b363-c5a0e6e917b3
Bodyrequired

Identifies a previously uploaded CSV file with trust scores to import.

storageIdstring(BusinessPartnerStorageId)

Unique identifier of the Storage.

Example: "72d6900fce6b326088f5d9d91049e3e6"
contentOrganizationstring(OrganizationName)

Name of the organization.

Example: "Adidas AG"
curl -i -X POST \
  https://idp.cdq.com/_mock/apis/bankaccount-data-api/api-v2/bankaccounts/jobs/importwhitelist \
  -H 'Content-Type: application/json' \
  -H 'X-Credential-Username: 87b1bdb1-ba87-4522-b363-c5a0e6e917b3' \
  -d '{
    "storageId": "72d6900fce6b326088f5d9d91049e3e6",
    "contentOrganization": "Adidas AG"
  }'

Responses

Created

Body
idstring(JobId)

Unique identifier of a job.

Example: "35f23c03-1c22-45fe-9484-3ffe769325de"
createdAtstring(CreatedAt)

Date of creation (ISO 8601-compliant).

Example: "2020-08-31T16:47+00:00"
userstring(JobUser)

ID of (human) user or API key.

Example: "742429-234242-4343-232323"
progressinteger(JobProgress)[ 0 .. 100 ]

Progress (%) of the job.

Example: "77"
statusstring(JobStatus)

Job execution status.

Enum"ARCHIVED""UNKNOWN""CREATED""PERSISTED""SCHEDULED""WAITING""COULDNT_START""RUNNING""CANCELED""FINISHED"
Example: "RUNNING"
Response
{ "id": "35f23c03-1c22-45fe-9484-3ffe769325de", "createdAt": "2020-08-31T16:47+00:00", "user": "742429-234242-4343-232323", "progress": "77", "status": "RUNNING" }

Import Job Results

Request

Get whitelist import job results. It contains a list of invalid data.

Path
jobIdstring(JobId)required

Job ID.

Example: 35f23c03-1c22-45fe-9484-3ffe769325de
Query
startAfterstring

Indicator for the next page.

Example: startAfter=5c6a2c7e-9b0a-4e1a-8b0a-4e1a8b0a4e1a
limitinteger(int32)[ 1 .. 100 ]

Number of results that should be fetched. Maximum 100 results can be returned in one page.

Default 50
Example: limit=50
Headers
X-Credential-Usernamestringrequired

Username that is passed as header parameter with the name X-Credential-Username. The header can take form of:

  • username (e.g. "johndoe")
  • user id (e.g. "87b1bdb1-ba87-4522-b363-c5a0e6e917b3")
Example: 87b1bdb1-ba87-4522-b363-c5a0e6e917b3
curl -i -X GET \
  https://idp.cdq.com/_mock/apis/bankaccount-data-api/api-v2/bankaccounts/jobs/importwhitelist/35f23c03-1c22-45fe-9484-3ffe769325de/results \
  -H 'X-Credential-Username: 87b1bdb1-ba87-4522-b363-c5a0e6e917b3'

Responses

Whitelist import job results

Bodyapplication/json
valuesArray of objects(WhitelistImportRecordResult)

List of whitelist import jobs.

startAfterstring(StartAfter)

The ID which is used to read the page.

Example: "5712566172571652"
nextStartAfterstring(NextStartAfter)

Provides a value to be used as a startAfter in next page request.

Example: "5712566172571652"
limitinteger(int32)

Number of items per page.

Example: "100"
totalinteger(int32)

Total number of items which can be paged.

Example: "67"
Response
application/json
{ "values": [ {} ], "startAfter": "5712566172571652", "nextStartAfter": "5712566172571652", "limit": "100", "total": "67" }

Curate Whitelist

Request

Start a job to curate whitelist records, i.e. to update hashes.

Headers
X-Credential-Usernamestringrequired

Username that is passed as header parameter with the name X-Credential-Username. The header can take form of:

  • username (e.g. "johndoe")
  • user id (e.g. "87b1bdb1-ba87-4522-b363-c5a0e6e917b3")
Example: 87b1bdb1-ba87-4522-b363-c5a0e6e917b3
Bodyrequired
chunkSizeintegerrequired

Amount of whitelist records to be processed in one batch.

Example: "500"
hideNaturalPersonboolean

Flag whether natural persons should be hidden in the bank account owner field.

Default false
Example: "false"
deduplicateWhitelistboolean

Flag whether whitelist should be deduplicated while curation.

Default false
Example: false
curl -i -X POST \
  https://idp.cdq.com/_mock/apis/bankaccount-data-api/api-v2/bankaccounts/jobs/curatewhitelist \
  -H 'Content-Type: application/json' \
  -H 'X-Credential-Username: 87b1bdb1-ba87-4522-b363-c5a0e6e917b3' \
  -d '{
    "chunkSize": "500",
    "hideNaturalPerson": "false",
    "deduplicateWhitelist": false
  }'

Responses

Created

Body
idstring(JobId)

Unique identifier of a job.

Example: "35f23c03-1c22-45fe-9484-3ffe769325de"
createdAtstring(CreatedAt)

Date of creation (ISO 8601-compliant).

Example: "2020-08-31T16:47+00:00"
userstring(JobUser)

ID of (human) user or API key.

Example: "742429-234242-4343-232323"
progressinteger(JobProgress)[ 0 .. 100 ]

Progress (%) of the job.

Example: "77"
statusstring(JobStatus)

Job execution status.

Enum"ARCHIVED""UNKNOWN""CREATED""PERSISTED""SCHEDULED""WAITING""COULDNT_START""RUNNING""CANCELED""FINISHED"
Example: "RUNNING"
Response
{ "id": "35f23c03-1c22-45fe-9484-3ffe769325de", "createdAt": "2020-08-31T16:47+00:00", "user": "742429-234242-4343-232323", "progress": "77", "status": "RUNNING" }

Import Bank AccountsDeprecated

Request

Deprecation message

This endpoint is actually deprecated. Use the /v2/bankaccounts/tasks/{taskId} instead.
See available documentation here.

Date of End-of-Life: not determined yet.

Import a CSV file with bank account data to be analyzed by several jobs.

Headers
X-Credential-Usernamestringrequired

Username that is passed as header parameter with the name X-Credential-Username. The header can take form of:

  • username (e.g. "johndoe")
  • user id (e.g. "87b1bdb1-ba87-4522-b363-c5a0e6e917b3")
Example: 87b1bdb1-ba87-4522-b363-c5a0e6e917b3
Bodymultipart/form-datarequired
filestring(binary)

CSV file with the following headers in the first line, order does not matter, International Account ID, International Bank ID, Country Code, National Bank ID, National Account ID.

Example: "file_name.csv"
contentOrganizationstring(OrganizationId)

Uniquely identifying ID of the organization.

Example: "cdq_monitor"
curl -i -X POST \
  https://idp.cdq.com/_mock/apis/bankaccount-data-api/api-v2/v2/bankaccounts \
  -H 'Content-Type: multipart/form-data' \
  -H 'X-Credential-Username: 87b1bdb1-ba87-4522-b363-c5a0e6e917b3' \
  -F file=file_name.csv \
  -F contentOrganization=cdq_monitor

Responses

ID of the created bank account storage.

Body
idstring(JobId)

Unique identifier of a job.

Example: "35f23c03-1c22-45fe-9484-3ffe769325de"
createdAtstring(CreatedAt)

Date of creation (ISO 8601-compliant).

Example: "2020-08-31T16:47+00:00"
userstring(JobUser)

ID of (human) user or API key.

Example: "742429-234242-4343-232323"
progressinteger(JobProgress)[ 0 .. 100 ]

Progress (%) of the job.

Example: "77"
statusstring(JobStatus)

Job execution status.

Enum"ARCHIVED""UNKNOWN""CREATED""PERSISTED""SCHEDULED""WAITING""COULDNT_START""RUNNING""CANCELED""FINISHED"
Example: "RUNNING"
Response
{ "id": "35f23c03-1c22-45fe-9484-3ffe769325de", "createdAt": "2020-08-31T16:47+00:00", "user": "742429-234242-4343-232323", "progress": "77", "status": "RUNNING" }

Database Cleanup

Endpoints for cleaning up and resetting databases in test environments.

WARNING: These endpoints should ONLY be used in test/development environments. They permanently delete data and should never be exposed in production.

Use these endpoints to:

  • Clear test data between test runs
  • Reset database state for integration tests
  • Clean up test fixtures
Operations

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.

Operations

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.

Operations

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.

Operations

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.

Operations

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.

Operations

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.

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.

Files

Gather endpoints that provide functionalities for managing files. These functionalities include uploading a file to S3.

Operations

Fraud Cases

Operations

Bank Data Sources

Operations

Bank Address Curation

Operations

Bank Account Storages

Operations

Processing logs

Operations

Bank Account Storage Data Monitors

Operations