Skip to content
Translated page. The English version is the source of truth.

GET /apiv2/screening/history ​

Tu historial de screening, los más recientes primero, con paginación por cursor.

URL del endpoint ​

GET https://netts.io/apiv2/screening/history

Encabezados de solicitud ​

HeaderRequiredDescription
X-API-KEYSíTu clave API del panel de control de Netts

Parámetros de consulta ​

Todos los filtros son opcionales. Sin ninguno de ellos obtienes todo tu historial.

ParameterTypeDefaultDescription
addressstring—Dirección exacta, 10–128 caracteres
networkstring—Ticker de la red
providerstring—elliptic o bitok
statusstring—pending, processing, completed, skipped, failed
fromstring—Solo verificaciones creadas en o después de este momento, RFC 3339
tostring—Solo verificaciones creadas en o antes de este momento, RFC 3339
cursorstring—Desde dónde continuar. Tómalo de next_cursor
limitinteger50Elementos por página, 1 a 200

Se incluyen las verificaciones con estado skipped. Una verificación omitida es una orden real —la dirección no tuvo actividad en la blockchain, por lo que nunca se envió al proveedor y nunca se cobró— y pertenece al historial.

Ejemplos ​

cURL ​

bash
curl "https://netts.io/apiv2/screening/history?limit=50" \
  -H "X-API-KEY: your_api_key"

Python — recorrer todo el historial ​

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"]}

Mantén los filtros idénticos durante la paginación. Cambiar uno mientras se conserva el mismo cursor es un error, no un cambio silencioso a un conjunto diferente.

Respuesta ​

json
{
  "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
}
FieldTypeDescription
itemsarrayLa página, los más recientes primero
next_cursorstring | nullEnvíalo de vuelta para obtener la siguiente página. null significa que has llegado al final
limitintegerEl límite que se aplicó

La forma corta de un elemento ​

Los bloques order, request, check y risk son idénticos a los de la respuesta completa de GET /apiv2/screening/{client_order_id}, campo por campo, por lo que el mismo analizador procesa ambos.

Lo que se omite: provider_data, exposure[], rules[], entities[], wallet, billing, precheck, y el bloque completo sanctions. Un solo resultado de Elliptic tiene alrededor de 150 KB, y una página de cincuenta ocuparía siete megabytes. Obtén una verificación individual cuando necesites el detalle.

sanctions.verdict ​

El análisis de sanciones comprimido en una sola palabra.

ValueMeaning
listedLa dirección en sí está en una lista de sanciones
linkedSe encontró un vínculo de sanciones, pero la dirección en sí no está sancionada
noneEl análisis se ejecutó y no encontró nada
nullAún no hay un resultado para analizar

La diferencia entre listed y linked es el propósito de este campo — consulta Sanciones en un resultado de AML.

Pagination ​

Un cursor apunta a un lugar dentro del conjunto en vez de a su número ordinal, por lo que las nuevas verificaciones que llegan durante el recorrido no lo alteran.

  • el orden es created_at DESC, id DESC. Ambos campos están en el cursor, porque created_at no es único — de lo contrario, dos verificaciones creadas en el mismo microsegundo causarían bucles u omisiones;
  • el cursor es opaco. Su contenido es un detalle de implementación; envíalo de vuelta exactamente como lo recibiste;
  • los filtros son parte del cursor. Modificar uno mientras se reutiliza el cursor devuelve 400, no un cambio silencioso a un conjunto diferente — de lo contrario, creerías haber leído un conjunto que nunca leíste;
  • next_cursor: null significa el final. No hay un conteo total: contar todo el conjunto en cada página cuesta más de lo que aporta.

Respuestas de error ​

RFC 9457, application/problem+json. La lista completa de códigos está en la página de POST.

CodeHTTPWhen
4001400limit fuera de 1…200, un valor desconocido para network, provider o status, un valor de from/to que no sea RFC 3339, un cursor mal formado, o un cursor emitido para filtros diferentes
4010 / 4011401Sin clave API, o una clave o IP que no es aceptada
json
{
  "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
}

Límites de tasa ​

Compartido con cualquier otra ruta de AML: 5 solicitudes por segundo, 150 por minuto. Con limit=200, un historial completo de diez mil verificaciones son cincuenta solicitudes.