List Transfer Risks
Returns the list of risks detected for a specific registered transfer.
Each risk describes why the transfer was classified with a certain severity level — including category, rule, and exposure/origin metrics.
HTTP Request
GET /v1/transfers/{id}/risks/
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | ID of the registered transfer. |
Response
A successful response returns HTTP 200 OK with a JSON body — an array of RISK objects.
RISK Object Structure
Fields
| Field | Type | Description |
|---|---|---|
risk_level | string | Severity of detected risk (severe, high, medium, low). |
occurred_at | string (ISO8601) | Timestamp when the underlying risky activity occurred. |
detected_at | string (ISO8601) | Timestamp when BitOK detected this risk. |
risk_type | string | Type of risk — e.g. sender_exposure, origin_of_funds, counterparty_exposure. |
entity_category | string or null | AML category associated with the risk. |
proximity | string | Relation depth: direct, indirect, self. |
value_in_fiat | number or null | USD amount related to this risk (if applicable). |
value_share | number | Share (0.0–1.0) of total amount linked to this AML category or rule. |
rule | object | Rule that triggered the risk (see below). |
fiat_currency | string | Fiat currency used (USD). |
rule Object Structure
| Field | Type | Description |
|---|---|---|
rule_type | string | Rule category — e.g. address_exposure, origin_of_funds. |
rule_sub_type | string | Additional subtype (all, direct, indirect). |
entity_category | string | AML category that triggered the rule. |
min_value_in_fiat | number or null | Minimum USD value required to trigger the rule. |
min_value_share | number | Minimum share (0.0–1.0) required to trigger the rule. |
Example Response
[
{
"risk_level": "severe",
"occurred_at": "2025-07-30T11:29:42+03:00",
"detected_at": "2025-08-08T12:37:33.602539+03:00",
"risk_type": "sender_exposure",
"entity_category": "sanctions",
"proximity": "indirect",
"value_in_fiat": null,
"value_share": 0.837,
"rule": {
"rule_type": "address_exposure",
"rule_sub_type": "all",
"entity_category": "sanctions",
"min_value_in_fiat": null,
"min_value_share": 0.2
},
"fiat_currency": "USD"
},
{
"risk_level": "severe",
"occurred_at": "2025-07-30T11:29:42+03:00",
"detected_at": "2025-08-08T13:00:58.053446+03:00",
"risk_type": "origin_of_funds",
"entity_category": "sanctions",
"proximity": "indirect",
"value_in_fiat": 29.81,
"value_share": 0.9932,
"rule": {
"rule_type": "origin_of_funds",
"rule_sub_type": "indirect",
"entity_category": "sanctions",
"min_value_in_fiat": 10.0,
"min_value_share": 0.2
},
"fiat_currency": "USD"
}
]
Try it
GET/v1/transfers/{id}/risks/
API KEY ID
API KEY SECRET
Path params
id
HTTP Request
Press "Send Request" to generate HTTP request.
HTTP …
{
// Response will be shown here after the request.
}