Skip to content

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=1

Request Headers

HeaderRequiredDescription
X-API-KEYYesYour API key from Netts dashboard

Query Parameters

ParameterTypeRequiredDefaultDescription
addressstringYesBlockchain address (10-100 characters)
networkstringYesBlockchain network ticker (see Supported Networks)
pageintegerNo1Page 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

FieldTypeDescription
data.addressstringQueried address
data.totalintegerTotal number of checks for this address
data.pageintegerCurrent page number
data.pagesintegerTotal number of pages
data.checksarrayArray of check records (up to 100 per page)

Check Record Fields

FieldTypeDescription
client_order_idstringOrder ID — use with GET /apiv2/aml/{order_id} for full result
providerstringAML provider: elliptic or bitok
statusstringcompleted, pending, processing, failed
created_atstringCheck submission date/time
completed_atstring | nullCheck completion date/time
risk_scorenumber | nullRisk score (Elliptic: 0-10, BitOK: 0-1.0). null if not completed
risk_levelstring | nulllow, medium, or high
is_sanctionedboolean | nulltrue if sanctions exposure detected

Pagination

  • Each page returns up to 100 records, sorted by date (newest first)
  • Use total to know how many checks exist for this address
  • Use pages to know the last available page number
  • page=1 returns the most recent 100 checks, page=2 the 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
  • skipped status 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