GET /apiv2/screening/history
آپ کی اسکریننگ کی تاریخ، تازہ ترین پہلے، کرسر پیجینیشن کے ساتھ۔
یہ ورژن 2 کا معاہدہ ہے۔ یہ GET /apiv2/aml/history کی جگہ لیتا ہے، جو بدستور کام کر رہا ہے۔
اینڈ پوائنٹ URL
GET https://netts.io/apiv2/screening/historyدرخواست کے ہیڈرز
| Header | Required | Description |
|---|---|---|
| X-API-KEY | جی ہاں | آپ کی API کی Netts ڈیش بورڈ سے |
کوئری کے پیرامیٹرز
تمام فلٹرز اختیاری ہیں۔ ان میں سے کسی کے بغیر آپ کو اپنی مکمل تاریخ مل جائے گی۔
| Parameter | Type | Default | Description |
|---|---|---|---|
| address | string | — | بالکل درست پتہ، 10–128 حروف |
| network | string | — | نیٹ ورک ٹکر |
| provider | string | — | elliptic یا bitok |
| status | string | — | pending، processing، completed، skipped، failed |
| from | string | — | صرف اس لمحے یا اس کے بعد کی گئی جانچیں، RFC 3339 |
| to | string | — | صرف اس لمحے یا اس سے پہلے کی گئی جانچیں، RFC 3339 |
| cursor | string | — | جہاں سے سلسلہ جاری رکھنا ہے۔ اسے next_cursor سے لیں |
| limit | integer | 50 | فی صفحہ آئٹمز، 1 سے 200 |
ورژن 1 میں address اور network دونوں درکار تھے، لہذا یہ جاننے کا کوئی طریقہ نہیں تھا کہ "میں نے حال ہی میں کیا چیک کیا ہے"۔
skipped اسٹیٹس والی جانچیں شامل ہیں۔ ورژن 1 انہیں چھپا دیتا ہے۔ چھوڑ دی گئی (skipped) جانچ ایک حقیقی آرڈر ہے — پتہ پر کوئی بلاک چین سرگرمی نہیں تھی، اس لیے اسے کبھی بھی فراہم کنندہ کو نہیں بھیجا گیا اور نہ ہی کوئی چارج لیا گیا — اور یہ تاریخ کا حصہ ہے۔
مثالیں
cURL
curl "https://netts.io/apiv2/screening/history?limit=50" \
-H "X-API-KEY: your_api_key"Python — پوری تاریخ کو دیکھیں
import requests
headers = {"X-API-KEY": "your_api_key"}
params = {"limit": 200, "provider": "elliptic"}
while True:
page = requests.get("https://netts.io/apiv2/screening/history",
headers=headers, params=params).json()
for item in page["items"]:
print(item["order"]["client_order_id"],
item["order"]["status"],
item["risk"]["level"],
item["sanctions"]["verdict"])
if not page["next_cursor"]:
break
params = {"limit": 200, "provider": "elliptic", "cursor": page["next_cursor"]}پیجنگ کے دوران فلٹرز یکساں رکھیں۔ اسی کرسر کے ساتھ کسی ایک کو تبدیل کرنا ایک خرابی ہے، نہ کہ خاموشی سے کسی دوسرے سیٹ پر سوئچ کرنا۔
جواب
{
"schema_version": 2,
"items": [
{
"order": {
"client_order_id": "A6F3221BAAE093A",
"status": "completed",
"api_version": "v2",
"cache_hit": false,
"created_at": "2026-09-13T08:24:19.838584Z",
"started_at": "2026-09-13T08:24:20.998619Z",
"completed_at": "2026-09-13T08:24:25.179967Z"
},
"request": {
"address": "YOUR_ADDRESS_HERE",
"network": "trx",
"provider": "elliptic"
},
"check": {
"provider": "elliptic",
"provider_check_id": "1cc2fd64-1483-4ce3-946f-23a614f41a12",
"checked_at": "2026-09-13T08:24:22.372000Z",
"status": "completed",
"provider_status": "complete"
},
"risk": {
"score": "0.12428176721891304",
"scale": { "min": 0, "max": 10 },
"level": "low",
"level_source": "computed",
"provider_level": null,
"policy": "netts-risk-v1",
"by_direction": { "source": "0.12428176721891304", "destination": null }
},
"sanctions": { "verdict": "linked" }
}
],
"next_cursor": "eyJmIjp7InN0YXR1cyI6ImNvbXBsZXRlZCJ9LCJpIjoxMzQyNywidCI6...",
"limit": 1
}| Field | Type | Description |
|---|---|---|
| items | array | صفحہ، تازہ ترین پہلے |
| next_cursor | string | null | اگلا صفحہ حاصل کرنے کے لیے اسے واپس بھیجیں۔ null کا مطلب ہے کہ آپ اختتام پر پہنچ چکے ہیں |
| limit | integer | وہ حد جو لاگو کی گئی تھی |
کسی آئٹم کی مختصر شکل
order، request، check اور risk بلاکس GET /apiv2/screening/{client_order_id} کے مکمل رسپانس سے ہو بہو مطابقت رکھتے ہیں، فیلڈ در فیلڈ، تاکہ ایک ہی پارسر دونوں کو سنبھال سکے۔
جو چیزیں خارج کی گئی ہیں: provider_data، exposure[]، rules[]، entities[]، wallet، billing، precheck، اور مکمل sanctions بلاک۔ ایک واحد Elliptic نتیجہ تقریباً 150 KB ہوتا ہے، اور پچاس کا ایک صفحہ سات میگا بائٹس کا ہوگا۔ جب آپ کو تفصیل درکار ہو تو ایک واحد جانچ حاصل کریں۔
sanctions.verdict
پابندیوں کا تجزیہ ایک لفظ میں سمیٹ دیا گیا۔
| Value | Meaning |
|---|---|
listed | پتہ خود پابندیوں کی فہرست میں شامل ہے |
linked | پابندیوں کا تعلق پایا گیا، لیکن پتہ خود درج نہیں ہے |
none | تجزیہ مکمل ہوا اور کچھ نہیں ملا |
null | فی الحال تجزیہ کرنے کے لیے کوئی نتیجہ موجود نہیں ہے |
listed اور linked کے درمیان کا فرق ہی اس فیلڈ کا مقصد ہے — دیکھیں AML نتیجے میں پابندیاں۔
پیجینیشن
ورژن 1 نمبر کے لحاظ سے صفحات بناتا ہے: ?page=2، 100 فی صفحہ۔ ترتیب تخلیق کے وقت کے مطابق ہے، تازہ ترین پہلے، اس لیے جب آپ صفحہ 1 سے صفحہ 2 پر جاتے ہیں تو نئی جانچیں آ جاتی ہیں اور ہر چیز کو نیچے دھکیل دیتی ہیں۔ وہ ریکارڈز جو آپ پہلے دیکھ چکے تھے دوبارہ ظاہر ہوتے ہیں، وہ ریکارڈز جو آپ نے نہیں دیکھے وہ آپ سے چھوٹ جاتے ہیں۔ مصروف اکاؤنٹ کے ساتھ یہ کوئی غیر معمولی معاملہ نہیں ہے۔
کرسر سیٹ کے اندر کسی جگہ کی طرف اشارہ کرتا ہے بجائے اس کے ترتیبی نمبر کے، اس لیے کارروائی کے دوران آنے والی نئی جانچیں اس میں خلل نہیں ڈالتیں۔
- ترتیب
created_at DESC, id DESCہے۔ دونوں فیلڈز کرسر میں ہیں، کیونکہcreated_atمنفرد نہیں ہے — بصورت دیگر ایک ہی مائیکرو سیکنڈ میں بننے والی دو جانچیں لوپ یا چھوٹ جائیں گی؛ - کرسر مبہم (opaque) ہے۔ اس کے مندرجات نفاذ کی اندرونی تفصیل ہیں؛ اسے بالکل ویسا ہی واپس بھیجیں جیسا آپ کو ملا تھا؛
- فلٹرز کرسر کا حصہ ہیں۔ کرسر کو دوبارہ استعمال کرتے ہوئے کسی ایک کو تبدیل کرنے پر
400واپس آتا ہے، نہ کہ خاموشی سے کسی دوسرے سیٹ پر سوئچ کرنا — ورنہ آپ سمجھیں گے کہ آپ نے وہ سیٹ پڑھ لیا ہے جو آپ نے کبھی نہیں پڑھا؛ next_cursor: nullکا مطلب اختتام ہے۔ کوئی کل تعداد (total count) نہیں ہے: ہر صفحے پر پورے سیٹ کو شمار کرنے کی لاگت اس کی معلومات سے کہیں زیادہ ہے۔
خرابی کے جوابات
RFC 9457، application/problem+json۔ مکمل کوڈز کی فہرست POST صفحہ پر ہے۔
| Code | HTTP | When |
|---|---|---|
4001 | 400 | limit 1…200 سے باہر ہو، کوئی نامعلوم network، provider یا status ہو، ایک from/to جو RFC 3339 نہ ہو، خراب کرسر، یا مختلف فلٹرز کے لیے جاری کردہ کرسر |
4010 / 4011 | 401 | کوئی API کی موجود نہ ہو، یا ایسی کی یا IP جو قبول نہ ہو |
{
"type": "https://doc.netts.io/api/v2/errors/validation-failed",
"title": "Request validation failed",
"status": 400,
"detail": "Cursor was issued for a different set of filters",
"instance": "/apiv2/screening/history",
"code": 4001
}شرح کی حدود
دیگر تمام AML راستوں کے ساتھ مشترک: 5 درخواستیں فی سیکنڈ، 150 فی منٹ۔ limit=200 کے ساتھ دس ہزار جانچوں کی مکمل تاریخ پچاس درخواستیں بنتی ہے۔