API Explorer 936 endpoints

Get Customer Investigation Report

GET /obp/v7.0.0/banks/BANK_ID/customers/CUSTOMER_ID/investigation-report

OBPv6.0.0-getCustomerInvestigationReport Roles: CanGetInvestigationReport(per bank) CustomerKYCTransactionAccountFinancial-CrimeAI-Agent

Get a Customer Investigation Report for fraud detection, AML (Anti-Money Laundering), and financial crime analysis.

This endpoint assembles a comprehensive data package for a customer in a single API call, designed for use by AI agents, compliance officers, and financial crime investigators.

Use Cases:

  • Fraud Detection - identify suspicious transaction patterns
  • AML / Anti-Money Laundering - trace fund flows and flag anomalies
  • KYC Enhanced Due Diligence - deep-dive into customer activity
  • Suspicious Activity Report (SAR) preparation
  • Financial crime investigation and evidence gathering

Data Returned:

  • Customer details (legal name, KYC status)
  • All accounts linked to the customer (with balances)
  • Transaction history for those accounts (within the specified date range)
  • Related customers (via customer links) — spouses, associates, business partners

Suspicious Patterns This Data Supports Detecting:

  • Money flowing through intermediary companies (A to B to C patterns)
  • Payments inconsistent with known income or salary
  • Transfers to related parties (spouses, associates) shortly after large inflows
  • Round-tripping — money returning to origin via indirect paths
  • Vague or generic transaction descriptions on large amounts
  • Structuring — multiple transactions just below reporting thresholds
  • Rapid movement of funds across accounts (layering)

Query Parameters:

  • from_date: Start date for transactions (ISO format, e.g. 1100-01-01T01:01:01.000Z). Defaults to 1 year ago.
  • to_date: End date for transactions (ISO format, e.g. 1100-01-01T01:01:01.000Z). Defaults to now.
  • limit: Maximum number of transactions per account (default 500).

Note: This endpoint is only available in mapped mode (connector=mapped). For other connector configurations, use the individual endpoints to retrieve customer, account, transaction, and customer link data separately.

Authentication is Required

User Authentication is Required. The User must be logged in. The Application must also be authenticated.

URL Parameters:

BANK_ID: gh.29.uk

CUSTOMER_ID: 7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh

JSON response body fields (28)
account_id
8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0
account_name
account_name
account_type
AC
accounts
amount
10.12
balance
10
bank_id
gh.29.uk
counterparty_account
counterparty_account
counterparty_bank_name
counterparty_bank_name
counterparty_name
John Smith Ltd.
currency
EUR
customer_id
7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh
customer_link_id
customer_link_id
data_source
data_source
description
Description of the object. Maximum length is 2000. It can be any characters here.
finish_date
2020-01-27
from_date
1100-01-01T01:01:01.000Z
legal_name
Eveline Tripman
other_bank_id
other_bank_id
other_customer_id
other_customer_id
other_legal_name
other_legal_name
related_customers
related_customers
relationship
relationship
start_date
2020-01-27
to_date
1100-01-01T01:01:01.000Z
transaction_id
2fg8a7e4-6d02-40e3-a129-0b2bf89de8ub
transaction_type
DEBIT
transactions
Example success response
{
  "customer_id": "7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh",
  "legal_name": "John Doe",
  "bank_id": "gh.29.uk",
  "accounts": [
    {
      "account_id": "8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0",
      "bank_id": "gh.29.uk",
      "currency": "EUR",
      "balance": "150000",
      "account_name": "Current Account",
      "account_type": "CURRENT",
      "transactions": [
        {
          "transaction_id": "2fg8a7e4-6d02-40e3-a129-0b2bf89de8ub",
          "account_id": "8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0",
          "amount": "1250",
          "currency": "EUR",
          "transaction_type": "DEBIT",
          "description": "Payment for consulting services",
          "start_date": "1100-01-01T00:00:00Z",
          "finish_date": "1100-01-01T00:00:00Z",
          "counterparty_name": "ACME Corp",
          "counterparty_account": "DE89370400440532013000",
          "counterparty_bank_name": "Deutsche Bank"
        }
      ]
    }
  ],
  "related_customers": [
    {
      "customer_link_id": "613c83ea-80f9-4560-8404-b9cd4ec42a7f",
      "other_customer_id": "7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh",
      "other_bank_id": "gh.29.uk",
      "relationship": "spouse",
      "other_legal_name": "Jane Doe"
    }
  ],
  "from_date": "1100-01-01T00:00:00Z",
  "to_date": "1100-01-01T00:00:00Z",
  "data_source": "mapped_database"
}
Possible errors (6)
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
  • OBP-30046: Customer not found. Please specify a valid value for CUSTOMER_ID.
  • OBP-30150: Investigation Report is only available in mapped mode (connector=mapped).
  • OBP-20006: User is missing one or more roles:
  • OBP-50000: Unknown Error.
Implemented by OBPv6.0.0 getCustomerInvestigationReport Originally /obp/v6.0.0/banks/BANK_ID/customers/CUSTOMER_ID/investigation-report