Reten Docs
Configuração de Ciclo de Vida

Resurrection Configs

Leia o pilar de ressurreição do ciclo de vida e seus limiares de decaimento.

O resurrection config é o pilar de ressurreição de um Activity Generation Config. Define limiares de decaimento ordenados com base em dias de inatividade, classificando os usuários à medida que deslizam de dormant para churned.

Este recurso é somente leitura: só existem GET (lista) e GET /:id. Os resurrection configs são criados e editados apenas através do fluxo do AGC — veja Criar AGC e Atualizar ciclo de vida.

Campos de resposta

CampoTipoDescrição
idstring (uuid)Id do resurrection config.
namestringNome de exibição.
descriptionstring | nullDescrição opcional.
sourceTablestringTabela da qual os dados de atividade são lidos.
sourceColumnsstring[] | nullColunas usadas para a agregação.
dateColumnstringColuna que carrega o timestamp do evento.
activityGenerationConfigIdstring (uuid)AGC dono (NOT NULL, 1:1).
isActivebooleanSe a config está ativa.
updatedBystring | nullId do usuário do último editor.
createdAtstring (ISO 8601)Timestamp de criação.
updatedAtstring (ISO 8601)Timestamp da última atualização.
resurrectionThresholdsarrayLimiares de decaimento ordenados (veja abaixo).

resurrectionThreshold

CampoTipoDescrição
idstring (uuid)Id do limiar.
resurrectionConfigIdstring (uuid)Resurrection config dono.
statusCodestringCode de status de retenção emitido neste limiar (ex.: dormant).
userRetentionStatusConfigIdstring (uuid)Config de status de retenção do tenant resolvida.
labelstringLabel de exibição do limiar.
thresholdDaysintegerDias de inatividade a partir dos quais este limiar se aplica.
orderintegerOrdem do limiar ao longo do caminho de decaimento.
isActivebooleanSe o limiar está ativo.
createdAtstring (ISO 8601)Timestamp de criação.
updatedAtstring (ISO 8601)Timestamp da última atualização.

GET /api/resurrection-configs

Lista os resurrection configs do tenant.

Auth: Obrigatória — permissão lifecycle-config:view

Exemplo

curl https://api.reten.ai/api/resurrection-configs \
  -H "Authorization: Bearer <token>" \
  -H "x-tenant-id: <tenant-id>" \
  -H "x-project-id: <project-id>"
import axios from 'axios';

const response = await axios.get('https://api.reten.ai/api/resurrection-configs', {
  headers: {
    Authorization: 'Bearer <token>',
    'x-tenant-id': '<tenant-id>',
    'x-project-id': '<project-id>',
  },
});

const resurrectionConfigs = response.data;

Resposta 200 OK

[
  {
    "id": "r1111111-1111-1111-1111-111111111111",
    "name": "Resurrection",
    "description": "Inactivity decay path",
    "sourceTable": "events",
    "sourceColumns": ["user_id", "event_name"],
    "dateColumn": "occurred_at",
    "activityGenerationConfigId": "agc11111-1111-1111-1111-111111111111",
    "isActive": true,
    "updatedBy": "u1111111-1111-1111-1111-111111111111",
    "createdAt": "2026-01-15T10:00:00.000Z",
    "updatedAt": "2026-01-20T12:30:00.000Z",
    "resurrectionThresholds": [
      {
        "id": "t1111111-1111-1111-1111-111111111111",
        "resurrectionConfigId": "r1111111-1111-1111-1111-111111111111",
        "statusCode": "dormant",
        "userRetentionStatusConfigId": "rs555555-5555-5555-5555-555555555555",
        "label": "En riesgo",
        "thresholdDays": 30,
        "order": 0,
        "isActive": true,
        "createdAt": "2026-01-15T10:00:00.000Z",
        "updatedAt": "2026-01-15T10:00:00.000Z"
      },
      {
        "id": "t2222222-2222-2222-2222-222222222222",
        "resurrectionConfigId": "r1111111-1111-1111-1111-111111111111",
        "statusCode": "churned",
        "userRetentionStatusConfigId": "rs666666-6666-6666-6666-666666666666",
        "label": "Fugado",
        "thresholdDays": 90,
        "order": 1,
        "isActive": true,
        "createdAt": "2026-01-15T10:00:00.000Z",
        "updatedAt": "2026-01-15T10:00:00.000Z"
      }
    ]
  }
]

GET /api/resurrection-configs/:id

Lê um único resurrection config com seus limiares de decaimento.

Auth: Obrigatória — permissão lifecycle-config:view

Exemplo

curl https://api.reten.ai/api/resurrection-configs/r1111111-1111-1111-1111-111111111111 \
  -H "Authorization: Bearer <token>" \
  -H "x-tenant-id: <tenant-id>" \
  -H "x-project-id: <project-id>"
import axios from 'axios';

const response = await axios.get(
  'https://api.reten.ai/api/resurrection-configs/r1111111-1111-1111-1111-111111111111',
  {
    headers: {
      Authorization: 'Bearer <token>',
      'x-tenant-id': '<tenant-id>',
      'x-project-id': '<project-id>',
    },
  }
);

const resurrectionConfig = response.data;

Resposta 200 OK

{
  "id": "r1111111-1111-1111-1111-111111111111",
  "name": "Resurrection",
  "description": "Inactivity decay path",
  "sourceTable": "events",
  "sourceColumns": ["user_id", "event_name"],
  "dateColumn": "occurred_at",
  "activityGenerationConfigId": "agc11111-1111-1111-1111-111111111111",
  "isActive": true,
  "updatedBy": "u1111111-1111-1111-1111-111111111111",
  "createdAt": "2026-01-15T10:00:00.000Z",
  "updatedAt": "2026-01-20T12:30:00.000Z",
  "resurrectionThresholds": [
    {
      "id": "t1111111-1111-1111-1111-111111111111",
      "resurrectionConfigId": "r1111111-1111-1111-1111-111111111111",
      "statusCode": "dormant",
      "userRetentionStatusConfigId": "rs555555-5555-5555-5555-555555555555",
      "label": "En riesgo",
      "thresholdDays": 30,
      "order": 0,
      "isActive": true,
      "createdAt": "2026-01-15T10:00:00.000Z",
      "updatedAt": "2026-01-15T10:00:00.000Z"
    }
  ]
}