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

Download OpenAPI description
Languages
Servers
Mock server

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

Production

https://api.cdq.com/bankaccount-data/rest/

Data Transformation Definitions

Gather endpoints that provide functionalities for testing data transformation definitions. These functionalities include testing data transformation definitions.

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

Request

Check the status of a task that is inserting or updating bank accounts in the system.

Security
apiKey
Path
taskIdstring^[a-fA-F0-9]{24}$required

Task ID

Example: 652697d8eb91545eb14e64e6
curl -i -X GET \
  https://developer.cdq.com/_mock/apis/bankaccount-data-api/api-v2/v2/bankaccounts/tasks/652697d8eb91545eb14e64e6 \
  -H 'X-API-KEY: YOUR_API_KEY_HERE'

Responses

OK

Bodyapplication/json
statusstring

Status of the task.

Enum ValueDescription
STARTED

The task has started.

FINISHED

The task has finished.

FAILED

The task has failed.

Example: "FINISHED"
Response
application/json
{ "status": "FINISHED" }

Request

Display the details of a specific bank account storage identified by its storage ID.

Security
apiKey
Path
storageIdstring^[a-fA-F0-9]{24}$required

ID of the bank account storage.

Example: 652697d8eb91545eb14e64e6
Query
featuresOnArray of strings(BankAccountStorageReadFeatureParam)

A list of optional feature flags that specify additional details to include in the response. Use this to enrich the returned bank account storage data with extra computed or summary fields.

Items ValueDescription
NUMBER_OF_TOTAL

Requests the total number of records stored in the bank account storage.

Example: featuresOn=NUMBER_OF_TOTAL
curl -i -X GET \
  https://developer.cdq.com/_mock/apis/bankaccount-data-api/api-v2/bankaccountstorages/652697d8eb91545eb14e64e6 \
  -H 'X-API-KEY: YOUR_API_KEY_HERE'

Responses

Found

Body
idstring(BankAccountStorageId)

Unique identifier of the Bank Account Storage. Workspace could have only one Bank Account Storage.

Example: "72d6900fce6b326088f5d9d91049e3e6"
namestring(BankAccountStorageName)<= 50 characters

Name of the bank account storage.

Example: "Custom Bank Account Name"
workspaceIdstring(WorkspaceId)

Uniquely identifying ID of the workspace.

Example: "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4"
organizationIdstring(OrganizationId)

Uniquely identifying ID of the organization.

Example: "cdq_monitor"
createdBystring(CreatedBy)

Creator of a resource.

Example: "76248934691294444"
createdAtstring(CreatedAt)

Date of creation (ISO 8601-compliant).

Example: "2025-08-29T09:46:42Z"
modifiedAtstring(ModifiedAt)

Date of modification (ISO 8601-compliant).

Example: "2025-08-29T09:46:42Z"
modifiedBystring(ModifiedBy)

User or Client UUID which modified the resource.

Example: "76248934691294444"
dataTransformationIdstring(DataTransformationId)

The ID of an existing data transformation, which will be used to transform raw records into bank accounts.

Example: "72d6900fce6b326088f5d9d91049e3e6"
sharingToWhitelistboolean(SharingToWhitelist)

Flag that indicates whether data from bank account storage is shared to whitelist.

Example: "true"
numberOfRecordsinteger(int64)(NumberOfRecords)

Number of records present in given bank account storage.

Example: 50
Response
{ "id": "72d6900fce6b326088f5d9d91049e3e6", "name": "Custom Bank Account Name", "workspaceId": "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4", "organizationId": "cdq_monitor", "createdBy": "76248934691294444", "createdAt": "2025-08-29T09:46:42Z", "modifiedAt": "2025-08-29T09:46:42Z", "modifiedBy": "76248934691294444", "dataTransformationId": "72d6900fce6b326088f5d9d91049e3e6", "sharingToWhitelist": "true", "numberOfRecords": 50 }

Request

Modify the details of an existing bank account storage identified by its storage ID.

Security
apiKey
Path
storageIdstring^[a-fA-F0-9]{24}$required

ID of the bank account storage.

Example: 652697d8eb91545eb14e64e6
Bodyapplication/jsonrequired
namestring(BankAccountStorageName)<= 50 characters

Name of the bank account storage.

Example: "Custom Bank Account Name"
dataTransformationIdstring(DataTransformationId)

The ID of an existing data transformation, which will be used to transform raw records into bank accounts.

Example: "72d6900fce6b326088f5d9d91049e3e6"
sharingToWhitelistboolean(SharingToWhitelist)

Flag that indicates whether data from bank account storage is shared to whitelist.

Example: "true"
curl -i -X PUT \
  https://developer.cdq.com/_mock/apis/bankaccount-data-api/api-v2/bankaccountstorages/652697d8eb91545eb14e64e6 \
  -H 'Content-Type: application/json' \
  -H 'X-API-KEY: YOUR_API_KEY_HERE' \
  -d '{
    "name": "Custom Bank Account Name",
    "dataTransformationId": "72d6900fce6b326088f5d9d91049e3e6",
    "sharingToWhitelist": "true"
  }'

Responses

Updated

Body
idstring(BankAccountStorageId)

Unique identifier of the Bank Account Storage. Workspace could have only one Bank Account Storage.

Example: "72d6900fce6b326088f5d9d91049e3e6"
namestring(BankAccountStorageName)<= 50 characters

Name of the bank account storage.

Example: "Custom Bank Account Name"
workspaceIdstring(WorkspaceId)

Uniquely identifying ID of the workspace.

Example: "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4"
organizationIdstring(OrganizationId)

Uniquely identifying ID of the organization.

Example: "cdq_monitor"
createdBystring(CreatedBy)

Creator of a resource.

Example: "76248934691294444"
createdAtstring(CreatedAt)

Date of creation (ISO 8601-compliant).

Example: "2025-08-29T09:46:42Z"
modifiedAtstring(ModifiedAt)

Date of modification (ISO 8601-compliant).

Example: "2025-08-29T09:46:42Z"
modifiedBystring(ModifiedBy)

User or Client UUID which modified the resource.

Example: "76248934691294444"
dataTransformationIdstring(DataTransformationId)

The ID of an existing data transformation, which will be used to transform raw records into bank accounts.

Example: "72d6900fce6b326088f5d9d91049e3e6"
sharingToWhitelistboolean(SharingToWhitelist)

Flag that indicates whether data from bank account storage is shared to whitelist.

Example: "true"
numberOfRecordsinteger(int64)(NumberOfRecords)

Number of records present in given bank account storage.

Example: 50
Response
{ "id": "72d6900fce6b326088f5d9d91049e3e6", "name": "Custom Bank Account Name", "workspaceId": "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4", "organizationId": "cdq_monitor", "createdBy": "76248934691294444", "createdAt": "2025-08-29T09:46:42Z", "modifiedAt": "2025-08-29T09:46:42Z", "modifiedBy": "76248934691294444", "dataTransformationId": "72d6900fce6b326088f5d9d91049e3e6", "sharingToWhitelist": "true", "numberOfRecords": 50 }

Request

List bank accounts from a bank account storage in batches.

Security
apiKey
Path
storageIdstring^[a-fA-F0-9]{24}$required

ID of the bank account storage.

Example: 652697d8eb91545eb14e64e6
Query
startAfterstring^[a-fA-F0-9]{24}$

ID of the first bank account.

Example: startAfter=652697d8eb91545eb14e64e6
limitinteger(int32)[ 1 .. 100 ]

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

Default 100
Example: limit=100
curl -i -X GET \
  https://developer.cdq.com/_mock/apis/bankaccount-data-api/api-v2/bankaccountstorages/652697d8eb91545eb14e64e6/bankaccounts \
  -H 'X-API-KEY: YOUR_API_KEY_HERE'

Responses

OK

Bodyapplication/json
startAfterstring(StartAfter)

The ID which is used to read the page.

Example: "5712566172571652"
limitinteger(Limit)

Number of items per page.

Example: "100"
totalinteger(PageTotal)

Total number of items which can be paged.

Example: "67"
valuesArray of objects(BankAccountV2)

List of bank accounts.

nextStartAfterstring(NextStartAfter)

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

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

Request

Upsert bank accounts into bank account storage in batches. Maximum of 1000 bank accounts are allowed per batch.

Security
apiKey
Path
storageIdstring^[a-fA-F0-9]{24}$required

ID of the bank account storage.

Example: 652697d8eb91545eb14e64e6
Bodyapplication/jsonrequired

BusinessPartnersUpsertRequest

bankAccountsArray of objects(BankAccountV2)[ 1 .. 1000 ] itemsrequired

Batch of bank accounts.

bankAccounts[].​internationalBankAccountIdentifierstring(InternationalBankAccountIdentifier)

The IBAN of a bank account.

Example: "CH8800781619278412000"
bankAccounts[].​nationalBankAccountIdentifierstring(NationalBankAccountIdentifier)

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

Example: "619278412000"
bankAccounts[].​payeesArray of objects(Payee)
bankAccounts[].​bankobject(schemas-Bank)

Financial institution that accepts deposits, facilitates withdrawals and transfers, and provides various financial services such as loans, investments, and currency exchange.

bankAccounts[].​vendorPaymentSummaryobject(VendorPaymentSummary)

Metadata required for calculation of trust score of bank account.

bankAccounts[].​externalIdstring(schemas-BankAccountExternalId)

Arbitrary identifier type to mark bank account IDs that are "external" from CDQ's perspective. This is the identifier a customer provides to identify its records.

Example: "The ID managed in the customer's SAP systems."
bankAccounts[].​idstring(schemas-BankAccountId)

The ID of the bank account.

Example: "63e635235c06b7396330fe40"
curl -i -X PUT \
  https://developer.cdq.com/_mock/apis/bankaccount-data-api/api-v2/bankaccountstorages/652697d8eb91545eb14e64e6/bankaccounts \
  -H 'Content-Type: application/json' \
  -H 'X-API-KEY: YOUR_API_KEY_HERE' \
  -d '{
    "bankAccounts": [
      {
        "internationalBankAccountIdentifier": "CH8800781619278412000",
        "nationalBankAccountIdentifier": "619278412000",
        "payees": [
          {
            "name": "CDQ AG",
            "externalId": "The ID managed in the customer'\''s SAP systems.",
            "storage": {
              "id": "72d6900fce6b326088f5d9d91049e3e6"
            },
            "dataSource": {
              "id": "648824a691d8d2503d65103e"
            }
          }
        ],
        "bank": {
          "cdqId": "CDQID-1234567890",
          "name": [
            {
              "shortName": "SNB",
              "type": {
                "url": "https://meta.cdq.com/Bank_account/bank/name/type",
                "name": "Bank name acronym",
                "technicalKey": "BANK_NAME_TYPE_ACRONYM"
              },
              "value": "Swiss National Bank",
              "version": {
                "charset": {},
                "language": {}
              }
            }
          ],
          "internationalBankIdentifier": "KBSGCH22XXX",
          "nationalBankIdentifier": "00781",
          "address": {
            "version": {
              "characterSet": {
                "name": "International",
                "technicalKey": "INTERNATIONAL"
              },
              "language": {
                "name": "German",
                "technicalKey": "DE"
              }
            },
            "identifyingName": {
              "value": "John Doe"
            },
            "externalId": "1",
            "metadata": {
              "primaryProvenance": {
                "name": "VIES",
                "url": "https://meta.cdq.com/index.php?title=Property:Has_prefix&limit=500&offset=0&from=&until=&filter=",
                "technicalKey": "VIES",
                "cdqId": "VIES:PL8660001429"
              },
              "language": {
                "name": "German",
                "technicalKey": "DE"
              }
            },
            "careOf": {
              "value": "CDQ GmbH c/o Product Department"
            },
            "contexts": [
              {
                "value": "Production hall 7, Storage field 8."
              }
            ],
            "country": {
              "shortName": "CH",
              "value": "Switzerland"
            },
            "administrativeAreas": [
              {
                "value": "Sankt Gallen",
                "shortName": "SG",
                "fipsCode": "SZ15",
                "isoCode": "CH-SG",
                "type": {},
                "language": {}
              }
            ],
            "postCodes": [
              "9000"
            ],
            "localities": [
              {
                "type": {},
                "shortName": "St. Gallen",
                "value": "Sankt Gallen",
                "language": {}
              }
            ],
            "thoroughfares": [
              {
                "type": {},
                "shortName": "Lukasstr. 4",
                "number": "4",
                "value": "Lukasstraße 4",
                "name": "Lukasstraße",
                "direction": "221-bis Baker Street, North",
                "language": {}
              }
            ],
            "premises": [
              {
                "value": "Lukasstraße 4",
                "shortName": "Lukasstr. 4",
                "number": "4",
                "type": {},
                "language": {}
              }
            ],
            "postalDeliveryPoints": [
              {
                "type": {},
                "shortName": "St Gallen, Postfach 460",
                "number": "460",
                "value": "Postfach",
                "language": {}
              }
            ],
            "openingHours": [
              {
                "openingHour": "09:00 AM",
                "closingHour": "05:00 PM",
                "weekday": "Monday"
              }
            ],
            "geographicCoordinates": {
              "latitude": "47.439549",
              "longitude": "9.395275"
            },
            "types": [
              {
                "name": "Legal Address",
                "url": "https://meta.cdq.com/Address/type",
                "technicalKey": "LEGAL_ADDRESS"
              }
            ],
            "formattedAddress": {
              "country": "Switzerland",
              "administrativeArea": "Sankt Gallen",
              "region": "Sankt Gallen",
              "regionCode": "9004",
              "locality": "Sankt Gallen",
              "district": "City center",
              "postalCode": "9000",
              "thoroughfare": "Lukassstrasse",
              "premise": "Lukasstraße 4, Building 2, Floor 3, Room 4",
              "interurbanDeliveryPoint": "Sankt Gallen, Postfach 460",
              "mailbox": "Postfach 460",
              "postOfficeBox": "Postfach 460"
            }
          }
        },
        "vendorPaymentSummary": {
          "firstPaymentDate": "2025-08-29T09:46:42Z",
          "lastPaymentDate": "2025-08-29T09:46:42Z",
          "numberOfPayments": "1"
        },
        "externalId": "The ID managed in the customer'\''s SAP systems.",
        "id": "63e635235c06b7396330fe40"
      }
    ]
  }'

Responses

OK

Bodyapplication/json
taskIdstring(TaskId)

Unique identifier for a task.

Example: "dc172630-5791-11ee-8c99-0242ac120002"
Response
application/json
{ "taskId": "dc172630-5791-11ee-8c99-0242ac120002" }

Request

Upsert bank accounts into bank account storage in batches. Maximum of 1000 bank accounts are allowed per batch.

Security
apiKey
Path
storageIdstring^[a-fA-F0-9]{24}$required

ID of the bank account storage.

Example: 652697d8eb91545eb14e64e6
Bodyapplication/jsonrequired

BusinessPartnersUpsertRequest

bankAccountsArray of objects(RawBankAccountData)[ 1 .. 1000 ] itemsrequired

Batch of bank accounts.

bankAccounts[].​rawDataobject(RawData)

Raw data that will be modified by the transformation of id provided in bank account storage setting.

curl -i -X PUT \
  https://developer.cdq.com/_mock/apis/bankaccount-data-api/api-v2/bankaccountstorages/652697d8eb91545eb14e64e6/bankaccounts/rawdata \
  -H 'Content-Type: application/json' \
  -H 'X-API-KEY: YOUR_API_KEY_HERE' \
  -d '{
    "bankAccounts": [
      {
        "rawData": {}
      }
    ]
  }'

Responses

OK

Bodyapplication/json
taskIdstring(TaskId)

Unique identifier for a task.

Example: "dc172630-5791-11ee-8c99-0242ac120002"
Response
application/json
{ "taskId": "dc172630-5791-11ee-8c99-0242ac120002" }

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.

Operations

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.

Operations

Files

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

Operations
Operations

Bank Account Storage Data Monitors

Operations