Saltar al contenido principal

Rederive

Un veredicto de cribado debe seguir siendo explicable meses después de emitirse: un auditor, un regulador o su propio equipo de cumplimiento pueden preguntar por qué se aceptó o se rechazó a un cliente. Las reglas y las etiquetas cambian con el tiempo, así que volver a ejecutar la verificación hoy respondería a otra pregunta. Rederive responde a la correcta: reproduce el veredicto con la versión del ruleset y la instantánea de etiquetas con las que se emitió, y devuelve la puntuación que tenía, no la que daría el ruleset de hoy.

Funciona porque cada veredicto queda fijado a una versión del ruleset, una instantánea de etiquetas y una altura de la cadena (vea El pin) y conserva los hallazgos de los que se derivó.

Solicitud​

POST /v1/verdicts/{verdict_id}/rederive con el scope checks:read. verdict_id es el verdict_id de una verificación completada.

CampoObligatorioDescripción
as_ofnoUna fecha y hora ISO 8601 con desfase. Solo metadatos de auditoría: se devuelve tal cual y nunca cambia el resultado. No puede ser anterior al momento en que se emitió el veredicto ni estar más de cinco minutos en el futuro. Si se omite, se usa el momento de la llamada.

El cuerpo es opcional. Los campos desconocidos se rechazan.

Rederive es gratuito: no registra consumo, no mueve la cuota ni el saldo, no consulta ninguna fuente de datos de terceros y no tiene efectos secundarios, por lo que no necesita Idempotency-Key. Está limitado a 20 solicitudes por minuto por cuenta, entre todas sus claves; vea Límites de solicitudes y cuotas.

curl -s -X POST https://api.leeri.ai/v1/verdicts/$VERDICT_ID/rederive \
-H "Authorization: Bearer $LEERI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"as_of":"2026-10-27T12:00:00Z"}'

Respuesta​

La respuesta usa el sobre de éxito habitual; la reproducción está en data.

CampoDescripción
verdict_idEl veredicto que se reprodujo.
as_ofEl as_of que envió, devuelto tal cual, o el momento de la llamada.
rederived_atCuándo se ejecutó esta reproducción.
pinnedruleset_version, label_snapshot_id y chain_height: las coordenadas con las que se emitió el veredicto y las que usó esta reproducción.
score, bandLa puntuación derivada de los hallazgos almacenados con el ruleset fijado, y su nivel. El mismo significado que en la verificación; vea Puntuación y nivel de riesgo.
recommended_actionLa acción a la que corresponde el nivel: accept para low, manual_review para medium, reject para high y severe.
analysis_depth, partial, partial_reasons, degraded_sources, coverage_limitations, exposureIndexLag, provider_fallbackLa integridad del veredicto tal como quedó fijada, devuelta exactamente como se almacenó; vea Qué tan completo es el veredicto. Una reproducción no consulta a terceros, así que no puede ni eliminar ni añadir un motivo.
findingsTodos los hallazgos almacenados, incluidos los avisos que no tienen peso.
exposureLa exposición del veredicto.
findings_digestEl SHA-256, en hexadecimal, de la forma canónica (RFC 8785) del conjunto de hallazgos. Dos reproducciones del mismo veredicto devuelven el mismo resumen.
label_watermarkSi las pruebas de las etiquetas siguen vigentes; vea más abajo.
evidence_reportSi el informe de evidencias sigue coincidiendo con su hash registrado; vea más abajo. null cuando el veredicto nunca tuvo informe.

Marca de agua de etiquetas​

Cada hallazgo que se apoya en una etiqueta registra la fuente y el enlace de la fuente con los que se leyó. La reproducción busca de nuevo cada una de esas etiquetas en la instantánea de etiquetas del veredicto y confirma que sigue resolviéndose a una fila con la misma fuente, la misma URL de fuente y el mismo proveedor.

CampoDescripción
verifiedtrue cuando todos los hallazgos de etiqueta comprobados se resuelven sin cambios.
checkedCuántos hallazgos de etiqueta se reprodujeron contra el historial de etiquetas. Los hallazgos que se apoyan en una entrada de un registro curado no son etiquetas y no se cuentan.
discrepanciesUna entrada por cada hallazgo que no se resolvió: su rule_id y un reason, uno de label_missing, not_live_at_watermark, provenance_mismatch o watermark_not_pinned.

Comprobación del informe​

Cuando el veredicto tiene un informe de evidencias, evidence_report incluye report_id, payload_hash_registered (el hash registrado cuando se entregó por primera vez el enlace del informe), payload_hash_rederived (el hash del informe reconstruido ahora, en la versión del payload con la que se registró) y matches. Un informe emitido antes de un cambio posterior en el formato sigue coincidiendo. matches: false significa que el veredicto almacenado y el informe registrado han divergido, y debe comunicarse a soporte.

Cómo usarlo​

  • Guarde verdict_id junto con su registro de decisión, al lado del pin, para poder reproducirlo cuando se lo pidan.
  • Conserve findings_digest si necesita demostrar más tarde que el conjunto de hallazgos no ha cambiado.
  • Una reproducción devuelve la puntuación que el veredicto tenía en su momento. Para verificar la dirección con las reglas de hoy, ejecute una verificación nueva; vea Verificaciones de dirección.

Errores esperados​

EstadoCódigoCuándo
400VALIDATION_ERRORUn verdict_id mal formado, o un as_of que no es una fecha y hora ISO 8601 con desfase, es anterior al veredicto o está en el futuro.
403SCOPE_ERRORLa clave no tiene el scope checks:read.
404NOT_FOUNDNo existe ningún veredicto con este id para su cuenta y entorno. Una verificación que aún no se ha completado responde exactamente igual que un id desconocido.
429RATE_LIMIT_EXCEEDEDMás de 20 reproducciones en un minuto. Reintente tras Retry-After.