GET /apiv2/aml/history
Get AML check history for a specific address. Only returns checks belonging to the authenticated user. Paginated: 100 items per page, newest first.
Endpoint URL
GET https://netts.io/apiv2/aml/history?address=<ADDRESS>&network=<NETWORK>&page=1Request Headers
| Header | Required | Description |
|---|---|---|
| X-API-KEY | Yes | Your API key from Netts dashboard |
Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| address | string | Yes | — | Blockchain address (10-100 characters) |
| network | string | Yes | — | Blockchain network ticker (see Supported Networks) |
| page | integer | No | 1 | Page number (1-based, 100 items per page) |
Example Requests
cURL
bash
curl -X GET "https://netts.io/apiv2/aml/history?address=TPCHni9H51NEr8iT6fNJgkdMUBPbF79HBV&network=trx&page=1" \
-H "X-API-KEY: your_api_key"Python
python
import requests
headers = {
"X-API-KEY": "your_api_key",
}
response = requests.get(
"https://netts.io/apiv2/aml/history",
headers=headers,
params={
"address": "TPCHni9H51NEr8iT6fNJgkdMUBPbF79HBV",
"network": "trx",
"page": 1
}
)
data = response.json()
if data["success"]:
print(f"Total checks: {data['data']['total']}")
print(f"Page {data['data']['page']} of {data['data']['pages']}")
for check in data["data"]["checks"]:
print(f" {check['created_at']} | {check['client_order_id']} | "
f"{check['provider']} | risk={check['risk_score']} ({check['risk_level']})")Response
Success (200 OK)
json
{
"success": true,
"data": {
"address": "TPCHni9H51NEr8iT6fNJgkdMUBPbF79HBV",
"total": 250,
"page": 1,
"pages": 3,
"checks": [
{
"client_order_id": "A4C666ABE24BD4A",
"provider": "elliptic",
"status": "completed",
"created_at": "2026-03-10 15:00:00",
"completed_at": "2026-03-10 15:00:05",
"risk_score": 10.0,
"risk_level": "high",
"is_sanctioned": false
},
{
"client_order_id": "A7F3B2E1D9C04A6",
"provider": "bitok",
"status": "completed",
"created_at": "2026-03-09 12:30:00",
"completed_at": "2026-03-09 12:30:08",
"risk_score": 0.85,
"risk_level": "high",
"is_sanctioned": false
}
]
},
"timestamp": "2026-03-10 15:05:00"
}No Results (200 OK)
json
{
"success": true,
"data": {
"address": "TXtARC75jmh7sDDfHFunLbpA44T7JhJ53u",
"total": 0,
"page": 1,
"pages": 0,
"checks": []
},
"timestamp": "2026-03-10 15:05:00"
}Response Fields
| Field | Type | Description |
|---|---|---|
| data.address | string | Queried address |
| data.total | integer | Total number of checks for this address |
| data.page | integer | Current page number |
| data.pages | integer | Total number of pages |
| data.checks | array | Array of check records (up to 100 per page) |
Check Record Fields
| Field | Type | Description |
|---|---|---|
| client_order_id | string | Order ID — use with GET /apiv2/aml/{order_id} for full result |
| provider | string | AML provider: elliptic or bitok |
| status | string | completed, pending, processing, failed |
| created_at | string | Check submission date/time |
| completed_at | string | null | Check completion date/time |
| risk_score | number | null | Risk score (Elliptic: 0-10, BitOK: 0-1.0). null if not completed |
| risk_level | string | null | low, medium, or high |
| is_sanctioned | boolean | null | true if sanctions exposure detected |
Pagination
- Each page returns up to 100 records, sorted by date (newest first)
- Use
totalto know how many checks exist for this address - Use
pagesto know the last available page number page=1returns the most recent 100 checks,page=2the next 100, etc.
Error Responses
Authentication Error (401)
json
{
"detail": {
"code": -1,
"msg": "API key not provided"
}
}Invalid Network (400)
json
{
"success": false,
"error": {
"code": 4002,
"message": "Unsupported network: xyz. See supported networks list."
}
}Notes
- Only your own checks are returned — you cannot see checks made by other users for the same address
skippedstatus checks (inactive addresses) are excluded from history- To get the full result for any check, use GET /apiv2/aml/{order_id} with the
client_order_id