Reten Docs
Activity Generation Configs

Obtener Activity Generation Config

Obtiene una activity generation config con todos los pilares anidados y los config hashes.

GET /api/activity-generation-configs/:id

Devuelve una única activity generation config con su configuración anidada completa — los tres pilares de ciclo de vida y sus hijos — más el objeto configHashes.

Auth: Requerida — permiso activity-generation-config:view

Parámetros de Ruta

ParámetroTipoDescripción
idUUIDID de la activity generation config

Ejemplo

curl https://api.reten.ai/api/activity-generation-configs/f47ac10b-58cc-4372-a567-0e02b2c3d479 \
  -H "Authorization: Bearer <token>" \
  -H "x-tenant-id: <tenant-id>"
import axios from 'axios';

const id = 'f47ac10b-58cc-4372-a567-0e02b2c3d479';
const response = await axios.get(
`https://api.reten.ai/api/activity-generation-configs/${id}`,
{ headers: { Authorization: 'Bearer <token>', 'x-tenant-id': '<tenant-id>' } },
);
const config = response.data;

Respuesta 200 OK

{
  "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
  "name": "Default lifecycle",
  "description": "Activation, engagement and resurrection for the main funnel",
  "audienceId": "1f0d2c3b-4a59-4687-9c12-abcdef012345",
  "queryFilterId": null,
  "updatedBy": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "createdAt": "2026-06-10T14:00:00.000Z",
  "updatedAt": "2026-06-15T09:30:00.000Z",
  "activationConfig": {
    "id": "2a8f0c11-6b22-4d33-8e44-aa55bb66cc77",
    "name": "Activation",
    "description": "First-week activation moments",
    "sourceTable": "events",
    "sourceColumns": ["user_id", "event_id"],
    "dateColumn": "occurred_at",
    "activityGenerationConfigId": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
    "aggregationMethod": "nunique",
    "isActive": true,
    "updatedBy": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "createdAt": "2026-06-10T14:00:00.000Z",
    "updatedAt": "2026-06-10T14:00:00.000Z",
    "activationMoments": [
      {
        "id": "3b9a1d22-7c33-4e44-9f55-bb66cc77dd88",
        "activationConfigId": "2a8f0c11-6b22-4d33-8e44-aa55bb66cc77",
        "statusCode": "aha",
        "userRetentionStatusConfigId": "aa11bb22-cc33-4d44-9e55-ff66aa77bb88",
        "minActions": 3,
        "windowDays": 7,
        "timeWindow": 30,
        "priority": 1,
        "isActive": true,
        "createdAt": "2026-06-10T14:00:00.000Z",
        "updatedAt": "2026-06-10T14:00:00.000Z"
      },
      {
        "id": "4c0b2e33-8d44-4f55-a066-cc77dd88ee99",
        "activationConfigId": "2a8f0c11-6b22-4d33-8e44-aa55bb66cc77",
        "statusCode": "setup",
        "userRetentionStatusConfigId": "bb22cc33-dd44-4e55-9f66-aa88bb99ccaa",
        "minActions": 1,
        "windowDays": null,
        "timeWindow": null,
        "priority": 2,
        "isActive": true,
        "createdAt": "2026-06-10T14:00:00.000Z",
        "updatedAt": "2026-06-10T14:00:00.000Z"
      }
    ]
  },
  "engagementConfig": {
    "id": "5d1c3f44-9e55-4066-b177-dd88ee99ffaa",
    "name": "Engagement",
    "description": "Active-user engagement levels",
    "sourceTable": "events",
    "sourceColumns": ["user_id", "event_id"],
    "dateColumn": "occurred_at",
    "activityGenerationConfigId": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
    "engagementWindowDays": 28,
    "minLifetimeActionsForEngaged": 1,
    "countingMethod": "active_days",
    "isActive": true,
    "updatedBy": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "createdAt": "2026-06-10T14:00:00.000Z",
    "updatedAt": "2026-06-10T14:00:00.000Z",
    "engagementLevels": [
      {
        "id": "6e2d4055-af66-4177-c288-ee99ffaa00bb",
        "engagementConfigId": "5d1c3f44-9e55-4066-b177-dd88ee99ffaa",
        "statusCode": "casual",
        "userRetentionStatusConfigId": "cc33dd44-ee55-4f66-a077-bb99ccaaddbb",
        "label": "Casual",
        "minThreshold": 1,
        "maxThreshold": 7,
        "order": 1,
        "isActive": true,
        "createdAt": "2026-06-10T14:00:00.000Z",
        "updatedAt": "2026-06-10T14:00:00.000Z"
      },
      {
        "id": "7f3e5166-b077-4288-d399-ffaa00bb11cc",
        "engagementConfigId": "5d1c3f44-9e55-4066-b177-dd88ee99ffaa",
        "statusCode": "core",
        "userRetentionStatusConfigId": "dd44ee55-ff66-4077-b188-ccaaddbbeecc",
        "label": "Core",
        "minThreshold": 8,
        "maxThreshold": null,
        "order": 2,
        "isActive": true,
        "createdAt": "2026-06-10T14:00:00.000Z",
        "updatedAt": "2026-06-10T14:00:00.000Z"
      }
    ]
  },
  "resurrectionConfig": {
    "id": "8a4f6277-c188-4399-e400-aa00bb11ccdd",
    "name": "Resurrection",
    "description": "Recovery vs. churn classification",
    "sourceTable": "events",
    "sourceColumns": ["user_id"],
    "dateColumn": "occurred_at",
    "activityGenerationConfigId": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
    "isActive": true,
    "updatedBy": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "createdAt": "2026-06-10T14:00:00.000Z",
    "updatedAt": "2026-06-10T14:00:00.000Z",
    "resurrectionThresholds": [
      {
        "id": "9b5a7388-d299-44aa-f511-bb11ccdd22ee",
        "resurrectionConfigId": "8a4f6277-c188-4399-e400-aa00bb11ccdd",
        "statusCode": "dormant",
        "userRetentionStatusConfigId": "ee55ff66-aa77-4188-c299-ddbbeeccffdd",
        "label": "Dormant",
        "thresholdDays": 30,
        "order": 1,
        "isActive": true,
        "createdAt": "2026-06-10T14:00:00.000Z",
        "updatedAt": "2026-06-10T14:00:00.000Z"
      },
      {
        "id": "0c6b8499-e3aa-45bb-0622-ccdd22ee33ff",
        "resurrectionConfigId": "8a4f6277-c188-4399-e400-aa00bb11ccdd",
        "statusCode": "churned",
        "userRetentionStatusConfigId": "ff66aa77-bb88-4299-d3aa-eeccffdd00ee",
        "label": "Churned",
        "thresholdDays": 90,
        "order": 2,
        "isActive": true,
        "createdAt": "2026-06-10T14:00:00.000Z",
        "updatedAt": "2026-06-10T14:00:00.000Z"
      }
    ]
  },
  "configHashes": {
    "activation": "9f1c2a3b4d5e6f70",
    "engagement": "a1b2c3d4e5f60718",
    "resurrection": "0f1e2d3c4b5a6978"
  }
}

Cada valor de configHashes es un hash determinístico de 16 caracteres del contenido semántico de ese pilar. Compáralo con un valor previamente almacenado para detectar si un pilar cambió; hashes idénticos significan que la configuración del pilar no cambió.

Respuestas de Error

EstadoDescripción
404Activity generation config no encontrada