Reten Docs
Atividades

Forçar Nova Tentativa de Despacho

Tentar novamente o despacho de uma atividade em status FAILED. Ação administrativa que ignora a state machine e reseta a atividade para READY para um despacho imediato.

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

Tenta novamente o despacho de uma atividade em status FAILED. É uma ação administrativa que ignora a state machine (a transição FAILED → READY não é válida sob as transições regulares) e é usada quando as tentativas automáticas se esgotaram e um operador com permissão precisa forçar uma nova tentativa.

Auth: Obrigatório — permissão activity:force-retry-dispatch

Parâmetros de Rota

ParâmetroTipoDescrição
idUUIDID da atividade

Exemplo

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>" \
  -H "x-project-id: <project-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>',
      'x-project-id': '<project-id>',
    },
  }
);

const { status } = response.data;
// status será "READY" após o reset; o despacho imediato pode levá-la a DISPATCHED, RETRYING ou FAILED novamente

Resposta 200 OK

{
  "status": "READY"
}

Comportamento

  • Reseta o status da atividade para READY e limpa os campos de erro (dispatchAttemptCount, errorCode, errorMessage, rawPayload).
  • Registra um status event FORCE_RETRY associado ao usuário que executa a ação.
  • Tenta o despacho imediatamente. Se o despacho imediato falhar, o cron de nova tentativa retomará a atividade no próximo ciclo (a requisição não falha, apenas registra um warning).
  • Ignora a state machine: a transição FAILED → READY não é válida sob a state machine regular; este endpoint a força intencionalmente como ação administrativa.

Respostas de Erro

StatusDescrição
400A atividade não tem dispatchConfigId (não usa provedor externo).
404Atividade não encontrada.
409A atividade já foi reprocessada ou mudou de status (não está em FAILED).