Reten Docs
Actividades

Forzar Reintento de Despacho

Reintentar el despacho de una actividad en estado FAILED. Acción administrativa que bypassa el state machine y resetea la actividad a READY para un dispatch inmediato.

PATCH /api/activities/:id/force-retry-dispatch

Reintenta el despacho de una actividad en estado FAILED. Es una acción administrativa que bypassa el state machine (la transición FAILED → READY no es válida bajo las transitions regulares) y se utiliza cuando los reintentos automáticos se agotaron y un operador con permiso necesita forzar un nuevo intento.

Auth: Requerido — permiso FORCE_RETRY_DISPATCH_ACTIVITY

Parámetros de Ruta

ParámetroTipoDescripción
idUUIDID de la actividad

Ejemplo

curl -X PATCH https://api.reten.ai/api/activities/ee0e8400-e29b-41d4-a716-446655440000/force-retry-dispatch \
  -H "Authorization: Bearer <token>" \
  -H "x-tenant-id: <tenant-id>"
import axios from 'axios';

const response = await axios.patch(
  'https://api.reten.ai/api/activities/ee0e8400-e29b-41d4-a716-446655440000/force-retry-dispatch',
  {},
  {
    headers: {
      Authorization: 'Bearer <token>',
      'x-tenant-id': '<tenant-id>',
    },
  }
);

const { status } = response.data;
// status será "READY" tras el reset; el dispatch inmediato puede llevarla a DISPATCHED, RETRYING o FAILED nuevamente

Respuesta 200 OK

{
  "status": "READY"
}

Comportamiento

  • Resetea el status de la actividad a READY y limpia los campos de error (dispatchAttemptCount, errorCode, errorMessage, rawPayload).
  • Registra un status event FORCE_RETRY asociado al usuario que ejecuta la acción.
  • Intenta el dispatch inmediatamente. Si el dispatch inmediato falla, el cron de reintento tomará la actividad en el próximo ciclo (la request no falla, solo se registra un warning).
  • Bypassa el state machine: la transición FAILED → READY no es válida bajo el state machine regular; este endpoint la fuerza intencionalmente como acción administrativa.

Respuestas de Error

EstadoDescripción
400La actividad no tiene dispatchConfigId (no usa proveedor externo).
404Actividad no encontrada.
409La actividad ya fue reintentada o cambió de estado (no está en FAILED).