Saltar al contenido principal
POST
curl
El reenvío va a la URL guardada en la entrega, aunque hayas cambiado la URL del destino desde entonces. Como el payload conserva su event_id, un receptor que elimina duplicados por event_id trata el reenvío como el evento que ya conoce.
Busca la entrega que quieres reenviar con Listar las entregas de webhook de una sesión.

Autorizaciones

x-api-key
string
header
requerido

La clave de API de tu aplicación, que encontrarás en Developers -> API keys en la Business Console. La clave principal tiene acceso completo. Una clave con nombre puede tener un alcance limitado: ninguno, lectura o escritura por recurso, limitada a algunos flujos o a sesiones aprobadas, a una lista de direcciones IP y a una fecha de caducidad. 401 significa que la clave es incorrecta, se revocó o expiró; 403 significa que no se envió ninguna clave, que la clave no tiene acceso a este recurso o acción, o que la solicitud provino de una dirección fuera de su lista de IP; 404 en una ruta de sesión significa que la sesión está fuera de los flujos o estados de la clave. Una clave sin acceso a contenido multimedia recibe las URL de imágenes, videos y PDF como null, y una clave sin permiso de escritura en sesiones recibe los enlaces y tokens de sesión como null. Consulta https://docs.didit.me/console/api-keys.

Parámetros de ruta

sessionId
string<uuid>
requerido

UUID de la sesión de verificación, de usuario (KYC) o de empresa (KYB): el session_id que devuelve POST /v3/session/. El servidor lo resuelve en ambos tipos de sesión.

Debe ser un UUID válido. La ruta solo coincide con UUID bien formados, por lo que el enrutador de URL rechaza un valor mal formado antes de que se ejecute el código de la aplicación, y la respuesta es una página HTML 404 en lugar del envoltorio JSON {"detail": ...} que se muestra a continuación.

webhook_uuid
string<uuid>
requerido

UUID de la entrega que se va a reenviar: el uuid de una entrada devuelta por GET /v3/session/{sessionId}/webhooks/. Debe pertenecer a la sesión indicada en la ruta.

Respuesta

La nueva entrega, ya intentada. response_status es lo que respondió tu endpoint esta vez. La entrega original no cambia.

Un intento de entrega de webhook registrado para una sesión de verificación, con los encabezados y el cuerpo exactos de la solicitud que envió Didit.

uuid
string<uuid>
requerido

ID de entrega. Úsalo como {webhook_uuid} para obtener o reenviar esta entrega.

session_id
string<uuid>
requerido

La sesión a la que pertenece la entrega (la sesión de la ruta).

request_url
string<uri> | null
requerido

URL a la que se envió la entrega.

response_status
integer | null
requerido

Estado HTTP que devolvió tu endpoint. null mientras la entrega está en cola y aún no se ha intentado. Cuando no se recibe ninguna respuesta HTTP, Didit registra un estado propio: 504 cuando tu endpoint no respondió en 5 segundos, 503 para un fallo de conexión, 400 cuando la URL se rechazó por no ser segura (por ejemplo, una dirección privada o interna) y 404 para cualquier otro error de la solicitud. 400 o superior cuenta como entrega fallida.

status
string | null
requerido

Estado de la sesión cuando se generó el evento, por ejemplo In Progress, Approved o Declined.

webhook_type
enum<string>
requerido

Nombre de evento de webhook admitido. Usa exactamente estas cadenas en subscribed_events; los valores no admitidos se rechazan.

Opciones disponibles:
status.updated,
data.updated,
user.status.updated,
user.data.updated,
business.status.updated,
business.data.updated,
activity.created,
transaction.created,
transaction.status.updated,
travel_rule.status.updated,
workflow.compliance_changed,
transaction_rule_suggestions.created,
auth.signup,
auth.login,
auth.login_failed,
auth.password_reset_requested,
auth.password_reset_completed,
auth.mfa_changed,
auth.new_device,
auth.account_locked,
investigator.report.ready,
investigator.decision.automated,
investigator.decision.overridden,
investigator.decision.contested,
investigator.question.raised,
investigator.automation.paused,
investigator.rfi.answered,
investigator.rfi.overdue,
investigator.drift.detected,
investigator.sla.breached,
investigator.qa.failed,
investigator.external.report.ready
request_header
string
requerido

Texto JSON (una cadena) de los encabezados de la solicitud que envió Didit: Content-Type, X-Signature, X-Signature-V2, X-Signature-Simple, X-Timestamp y User-Agent. Analízalo con un parser JSON. Contiene firmas, nunca el secreto de firma.

request_body
string
requerido

Texto JSON (una cadena) del payload exacto que envió Didit, con las claves ordenadas, incluidos event_id y timestamp. Analízalo con un parser JSON; consulta Estructura del payload. Para una clave con alcance limitado sin media: read, las URL de medios que contiene son null; sin sessions: write, los tokens de sesión y los enlaces de verificación alojados son null. Un cuerpo modificado de esa forma ya no coincide con sus firmas. Didit no registra el cuerpo de la respuesta que devolvió tu endpoint.

created_at
string<date-time>
requerido

Cuándo se creó la entrega.

Última modificación el 1 de noviembre de 2026