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.